Was bedeutet "unvollständiger Typ" bei QT/C++?
Ich versuche, eine Funktion zu erstellen, aber immer endet der Compiler mit dem Fehler "unvollständiger Typ". Wie behebe ich das?
4 Antworten
Beispiel:
class C_Test;
int function(int a) {
int b;
C_Test c; // < produziert Deinen Fehler: die Klasse C_Test
// ist deklariert, aber nicht definiert. Daher weiß der
// Compiler zBsp. nicht, wie viel Speicher belegt werden soll.
}
Ein "unvollständiger Typ" ist ein vom Namen bekannter Typ, der also schon als Platzhalter zur Deferenzierung von Pointern verwendet werden kann, aber dann im Einsatz (also dem Zugriff auf den Speicher selbst) noch nichts taugt, da eben seine Beschreibung fehlt.
In QT wird vieles oft nur per Speicheradresse übergeben, daher sind die Typnamen schon bekannt und zeigen schön, worauf der Speicher verweisen könnte, um dann aber auf jenen zuzugreifen (von Nutzerseite) muss der entsprechende Header eingefügt werden.
Das bedeutet, dass irgendein Variablentyp nicht vollständig bekannt ist. Häufig hat man irgendwas vergessen einzubinden.
Poste mal deinen Code für mehr Infos
Installier mal QuickTime und Microsoft Restribut