C++11: template parameter redefines default argument
When compiling the following source code with gcc there are no errors / warnings: template< typename T = int > T func( ); template< typename T = int > T func( ); When I compile the same source code with clang++, I got the following error: 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. Command to compile [clang++|g++] -Wall -Werror -std=c++11 redeftempparam.cc (Version information: gcc 4