Это старая версия
Comment37 за 2006-10-04 15:14:14..
Например, вот (сразу отмечу, что автор этого кода – не я, меня не интересует. как в этой ситуации получить компилирующийся код, мне здесь интересна только логика компилятора)
class C
{
};
class A
{
public:
};
void C::fun(A::B *z)
{
}
int main() {}
Вот ошибки gcc-4,0:
f.cpp:3: error: ‘A’ has not been declared //разумеется
f.cpp:3: error: ‘B’ has not been declared //само сабой
f.cpp:12: error: prototype for ‘void C::fun(A::B*)’ does not match any in class ‘C’ //еще бы!
f.cpp:3: error: candidate is: void C::fun(int*) //а вот это откуда появилось??