erro de tipo incompleto
Estou tentando fazer da classe A uma amiga da classe B.
<code>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; }; </code>
então minha pergunta porque é tipo incompleto? Eu pensei que quando eu fizclass B
é como um protótipo de uma função que diz à compilação que existe uma definição em algum lugar no código.
também no código acima em ## 1 ## porque isso é possível?