la declaración de reenvío genera un error de tipo incompatible
He estado leyendo algunas declaraciones a futuro, incluso en este foro. Todos dicen que nos salva de incluir el archivo de encabezado. Sin embargo, el siguiente código genera un error:
#ifndef CLASSA_H_
#define CLASSA_H_
class B;
class A {
public:
A();
~A();
int getCount();
private:
static int _count;
int _num;
B _b1; //ERROR
};
el compilador dice:A.h:23: error: field ‘_b1’ has incomplete type
Me di cuenta de que si hago_b1
de tipoB*
el problema esta resuelto.
Entonces, ¿la declaración directa es válida solo para los tipos de puntero?
Si lo quieroA
sostenerB
objetar tengo que#inlcude "B.h"
?
¡Gracias!