1

次のエラーが表示されます:「特殊化されていないクラス テンプレートは、テンプレート パラメーター '_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 に挿入できるようにしたいのです。

これはできますか?みんなありがとう。

4

1 に答える 1