蓝点工坊(http://www.bluedrum.cn) 创始人,App和嵌入式产品开发。同时也做相应培训和外包工作。 详细介绍 http://pan.baidu.com/s/1y2g88
全部博文(311)
分类: C/C++
2010-03-04 11:47:49
|
这个类模板有两个参数,一个是类型TT,另外一个类型是基于TT的常量init,这样在构造时,我们能用init去初始化对象内部数据.
在VC++ 6.0的执行结果如下,达到预期效果
100 3.3 Press any key to continue |
但在RHEL 5/GCC 4.12编译结果是
[root@rhel5 test]# g++ test_temp.cpp -o test_temp test_temp.cpp:23:2: warning: no newline at end of file test_temp.cpp: In function 'int main()': test_temp.cpp:18: error: 'double' is not a valid type for a template constant pa rameter test_temp.cpp:18: error: invalid type in declaration before ';' token test_temp.cpp:21: error: request for member 'data' in 'co2', which is of non-cla ss type 'int' |
提示在不能double 来放入TT init.把template
改成 template
结论:VC++模板对于模板常量的正确的.但GCC 4的处理很受局限