#include<iostream>
using namespace std;
class a{
public:
a b;
};
int main(){
return 0;
}
Execute o programa acima e o compilador relata um erro: [Erro] campo 'b' tem tipo incompleto 'a', tradução: [Erro] campo 'b' tem tipo incompleto 'a'.
Causa do erro: como a memória da classe a é desconhecida ao definir b, o compilador não pode alocar memória e naturalmente reportará um erro