błąd niekompletnego typu
Próbuję uczynić klasę A przyjacielem klasy B.
class B;
class A{
public:
void show(const B&); // ##1## but this one works fine
B ob;// error incomplete type
};
class B{
public:
int b;
B():b(1){}
friend class A;
};
więc moje pytanie, dlaczego jest niekompletny? Myślałem o tym, kiedy to zrobiłemclass B
jest to prototyp funkcji, która mówi kompilacji, że gdzieś w kodzie znajduje się definicja.
również w powyższym kodzie na ## 1 ## dlaczego jest to możliwe?