私が調査したテンプレートでは、整数の引数、つまりint、他のデータ型へのポインター、およびテンプレートテンプレートパラメーターのみを持つことができます。
しかし、ここでは単純なクラスをテンプレート引数としても渡すことができます。これは有効ですか、それとも私が理解していることは間違っています。これがコードの一部です。
template <typename T>
class A {
public:
T t;
};
class B {
public:
float f;
};
template <template<typename> class X, class H>
class C {
public:
H obj;
X<int> x;
};
int main()
{
C < A, B > my;
my.obj.f = 2.3f;
my.x.t = 5;
cout << "template class object: " << my.obj.f << endl;
cout << "class object : " << my.x.t << endl;
}