私のようなおもちゃのクラス継承している場合:継承を持つテンプレートは、親のコンストラクタを明示的に呼び出すことができますか?
template <typename ModelT>
class Parent {
public:
Parent(int i) {}
};
template <typename ModelT>
class Child : public Parent<ModelT> {
public:
Child(int i) : Parent(i) {}
};
int main() {
Child<int> c(42);
}
がどのように私は明示的にParent
のParent<ModelT>(i)
コンストラクタを呼び出すことができますか?そのまま私は
g++ -std=c++14 ~/tmp.cpp
とG ++ 5.2.1を起動すると、私は次のエラーを取得する:
/home/rrogers/tmp.cpp: In constructor ‘Child<ModelT>::Child(int)’:
/home/rrogers/tmp.cpp:9:18: error: class ‘Child<ModelT>’ does not have any field named ‘Parent’
Child(int i) : Parent(i) {}
^
'Parent(i)'と 'main'に' Child'のタイプがありません。 –
Jarod42