次のエラーが表示されます:「特殊化されていないクラス テンプレートは、テンプレート パラメーター '_Kty' のテンプレート引数として使用できません。実際の型が必要です」
コンパイルしようとしているコードは次のようなものです。
template <typename T> class TypeX;
template <typename T>
class TypeY
{
...
private:
std::set<TypeX> m_tree;
}
ところで、前方宣言の代わりに「TypeX.h」(テンプレート クラス) を含めても、何も変わりません。
このエラーから私が収集しているのは、TypeX は「特殊化されていない」ため、「T」が定義されておらず、TypeX がまだテンプレート形式であるという意味で、std::set の基礎にすることはできないということです。しかし、TypeX を T のテンプレートにして、TypeY 内から新しい TypeX (T のテンプレート) を初期化し、その新しいオブジェクトを m_tree に挿入できるようにしたいのです。
これはできますか?みんなありがとう。