template <class t> class a{ public: int i; a(t& ii):i(ii){} }; int main() { a *a1(new a(3)); cout<<a1.i; _getch(); }
编译错误:
>’a’:使用类模板需要模板参数列表>’a’:类没有构造函数
a(t& ii):i(ii){}
这应该是:
a(const t& ii):i(ii){}
这样你就可以将const文字和临时文本传递给构造函数.
然后这样做:
a<int> *a1(new a<int>(3));
你也可以这样写:
a<int> a2(3);