MyWackoSite: Comment37 ...

Home Page | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация | Вход:  Пароль:  
This is a comment on Спецкурс Cxx / Осень 2006 / Комментарии К Лекциям, posted by Maksim Ananjev? at 2006-10-04 15:16:25
Например, вот (сразу отмечу, что автор этого кода – не я, меня не интересует. как в этой ситуации получить компилирующийся код, мне здесь интересна только логика компилятора)

class C
{
void fun(A::B *c);
};

class A
{
public:
class B{};
};

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*)
 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]