标签: c++ templates gcc clang
以下代码
class X { template<class> class A{}; }; int main() { X::A<int> a; }
compiles in gcc(gcc 6.1),但fails in clang有错误
错误:'A'是'X'的私人成员
是否有任何微妙的东西使这段代码有效?在我看来,它不应该编译,因此它可能是一个gcc bug。它需要诊断吗?