Haz todo lo posible por comprender el código de forma correcta antes de aplicarlo a tu trabajo si ttienes algo que aportar puedes comentarlo.
Solución:
Una “clase incompleta” es una declarada pero no definida. P.ej
class Wielrenner;
Opuesto a
class Wielrenner
/* class members */
;
Necesitas #include "wielrenner.h"
en dokter.ccp
Una cosa para comprobar…
Si su clase está definida como typedef:
typedef struct myclass ;
Entonces tratas de referirte a él como struct myclass
en cualquier otro lugar, obtendrá errores de tipo incompleto de izquierda a derecha. A veces es un error olvidar que la clase/estructura fue definida. Si ese es el caso, elimine “struct” de:
typedef struct mystruct ...
struct mystruct *myvar = value;
En su lugar utiliza…
mystruct *myvar = value;
Error común.
Obtiene este error cuando declara una referencia directa dentro del espacio de nombres incorrecto, declarando así un nuevo tipo sin definirlo. Por ejemplo:
namespace X
namespace Y
class A;
void func(A* a) ... // incomplete type here!
…pero, en la clase A se definió así:
namespace X
class A ... ;
Así, A se define como X::A
pero lo estaba usando como X::Y::A
.
La solución, obviamente, es mover la referencia hacia adelante a su lugar adecuado de la siguiente manera:
namespace X
class A;
namespace Y
void func(X::A* a) ... // Now accurately referencing the class`enter code here`
Ten en cuenta dar recomendación a este tutorial si si solucionó tu problema.