Conditional enable an alternative assignment operator
问题 I'm trying to conditionally instantiate an extra assignment operator. The code below works fine in clang, but not in gcc 4.7. The problem I'm having seems very similar the the question asked here: std::enable_if to conditionally compile a member function The following illustrates the problem I'm having: #include <type_traits> template<typename T> struct StrangerTypeRules; template<typename T> struct X; template< > struct StrangerTypeRules < unsigned > { typedef unsigned type; }; template< >