内部模板类的可见性

时间:2016-06-25 00:39:55

标签: 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。它需要诊断吗?

0 个答案:

没有答案