私はそのフレーズを含む12以上のqstを見てきましたがno appropriate default constructor available
、私自身の問題を解決するものはありません.
これは非常に基本的な C++ の qst です (私はまだコツを学んでいるので)。その単純さに目がくらんでいる場合は、事前に申し訳ありません。引数のないテンプレート化されたコンストラクターを持つクラスを継承しようとしています。そのような:
class Base {
public:
template<class T>
Base() {
T *t = this;
//more irrelevant stuff
}
}
私はもう試した
class Derived : public Base {
public:
Derived() : Base() {
}
}
と
class Derived : public Base {
public:
Derived() {
}
}
無駄に。どちらの場合も、エラー メッセージが表示されますno appropriate default constructor available
。これを行うにはどうすればよいですか?これが不可能な場合、その理由を説明できますか?
コンストラクターを次のようにセットアップしたときに機能しましたtemplate<class T> Base(T *t)
(テンプレート引数をパラメーターとして使用)。
ps重要な場合、私のコードではDerived
別のクラスにも継承しています。