这是示例:
struct A
{
A(const int a ):b(a)
{
}
int b;
};
struct B
{
B() : a(5)
{
}
static void A()
{
}
A a;
};
int main()
{
B::A();
}
编译器错误是:
a9.cpp:19: error: ‘A’ does not name a type
a9.cpp: In constructor ‘B::B()’:
a9.cpp:24: error: class ‘B’ does not have any field named ‘a’
我在 Fedora 9 上使用 gcc 4.3.0。
有人可以解释为什么编译器会抱怨吗?如果可能,请参考标准中的参考资料。
谢谢