#include <iostream>
template <class T> class DimClass{
public:
DimClass<T>* ptr;
DimClass(int dim){
std::cout << "Constructor (" << dim << ")\n";
if(dim>1) ptr = new DimClass<T>(dim-1);
}
};
int main(void){
DimClass<int> test(5);
return 0;
}
確かにこのクラスはポインタの自己参照?を行ってはいるのですが、一定の値で止まるようにはなっています。
c++において、このようなことは不可能なのでしょうか。
template <class T> class DimClass{
public:
DimClass<T*>* ptr;
DimClass(int dim){
std::cout << "Constructor (" << dim << ")\n";
if(dim>1) ptr = new DimClass<T*>(dim-1);
}
};
ご教授お願いします。