2
этот пример из N4527 14.7.3 [temp.expl.spec]/5, немного изменился.Внешнее определение класса-члена явно специализированного класса-члена
template<class T>
struct A {
struct B{};
};
template<> struct A<char>::B{
void f();
struct C;
struct D{}; // ok
};
void A<char>::B::f(){}// ok in gcc5.1.0 and clang3.6.0
struct A<char>::B::C{};// error in gcc5.1.0, ok in clang3.6.0
int main()
{
return 0;
}
@ 0x499602D2 вы можете здесь проверить http://melpon.org/wandbox/permlink/asPxd3DvdXS5ujG9 – stackcpp
Хорошо. Похоже на ошибку. – 0x499602D2