首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

类模板的默认参数,该如何处理

2012-04-13 
类模板的默认参数C/C++ codetemplateclass T intclass widget{public:widget(){}}C/C++ codeint _tm

类模板的默认参数

C/C++ code
template<class T = int>class widget{public:    widget(){};};


C/C++ code
int _tmain(int argc, _TCHAR* argv[]){    widget w;    return 0;}


编译会说缺乏参数列表,w大小未知,找不到合适的默认构造函数。问题是我在类的定义中已经指定了默认参数啊。环境是vs2010,求解。

[解决办法]
看看最新的gcc是否支持吧。
[解决办法]
error C2955: 'widget' : use of class template requires template argument list

改成
widget<> w;
[解决办法]
探讨
诡异,这样就可以了。模板中有多个参数时,默认参数可以不必再列出来。只有一个时,似乎必须弄个模板符号

引用:

error C2955: 'widget' : use of class template requires template argument list

改成
widget<> w;

[解决办法]
C/C++ code
widget<> w; 

热点排行