对于为什么会出现此错误,我有些困惑。我有以下情况
namespace Foo
{
class A
{
struct B
{
C c;
}
std::array<B, 10> bList;
}
}
C
是在DLL中在同一namespace Foo
下项目的某个位置声明的类。如果我尝试对此进行编译,VS会告诉我
B: cannot access private struct declared in class A
指的是std::array
。但是,如果我将std::array<B, 10> bList;
更改为原始数组B bList[10]
或std::vector<B> bList;
,或者如果我将struct B
移到class A
之外,它将编译而没有任何错误。>
我在这里想念什么?谢谢!