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++標準中的適當位置?
這意味着:它是不允許的,鐺++是正確的。非常感謝你! –