Alias templates used in SFINAE lead to a hard error
问题 I want to use an enabler (an alias template of enable_if ), defined in one class template, in another class template. It looks like this: template< ... > using enabler = typename std::enable_if< ... >::type; This works fine for SFINAE. But when I add another alias template in the second class like template< ... > using enabler = typename first_class<..> :: template enabler< ... >; and use this enabler for SFINAE, substitution (correctly) fails but with a hard error for g++4.8.0 and 4.8.1.