例は次のとおりです。
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 を使用しています。
誰かがコンパイラが不平を言っている理由を説明できますか? 可能であれば、標準からの参照とともに。
ありがとう