6
当编译用gcc下面的源代码有没有错误/警告:C++ 11:模板参数重新定义默认参数
template< typename T = int > T func();
template< typename T = int > T func();
当我编译铿锵++相同的源代码,我得到了以下错误:
redeftempparam.cc:2:24: error: template parameter redefines default argument
template< typename T = int > T func();
^
redeftempparam.cc:1:24: note: previous default template argument defined here
template< typename T = int > T func();
^
1 error generated.
命令编译
[clang++|g++] -Wall -Werror -std=c++11 redeftempparam.cc
(版本信息:GCC 4.7.2,铛版本锡安3.3(主干171722))
我的问题:
就是这种类型重新定义的允许?如果不是的话:你能否指点我在C++标准中的适当位置?
这意味着:它是不允许的,铛++是正确的。非常感谢你! –