【发布时间】:2012-11-30 09:30:03
【问题描述】:
考虑以下代码:
class A {
class B {};
template <typename T>
friend class C;
};
template <typename T>
class C : A::B {};
int main() { C<int> c; }
使用 GCC 和 Clang 可以正常编译,但 Visual C++ 2010 会报错:
test.cc(11) : error C2248: 'A::B' : cannot access private class declared in class 'A'
这是 Visual C++ 中的错误还是我遗漏了什么?
【问题讨论】:
标签: c++ visual-c++ gcc compiler-errors g++