warning: assignment from incompatible pointer type
-
Hallo
ich doktor nun schon zwei Tage an einer ominösen Fehlermeldung meines Compilers rum und versteh nicht, was da nicht stimmt.
Eigentlich geht es nur darum Listen zu verketten:........ dt_matrixliste *p; p = liste; // Liste ist hier auch vom Typ dt_matrixliste* while(p->naechste != NULL){ p = p->naechste; // abamat.c:88: warning: assignment from incompatible pointer type } p->naechste = element; // abamat.c:91: warning: assignment from incompatible pointer type
Dazu habe ich diesen Datentyp angelegt:
typedef struct DT_MATRIXLISTE { char *name; dt_matrix *matrix; struct dt_matrixliste *naechste; } dt_matrixliste;
Wer kann helfen?
Das Programm kann ich ausführen und es funzt auch aber was möchte der Compiler hier gerne verändert haben?
Gruß
Alex
-
p zeigt auf struct DT_MATRIXLISTE, p->naechste auf struct dt_matrixliste (kleingeschrieben).
-
Hallo,
Alex444 schrieb:
...
Das Programm kann ich ausführen und es funzt auch aber was möchte der Compiler hier gerne verändert haben?
...Der Compiler hätte gern übereinstimmende Typen bei der Zuweisung.
Kurzum: Einmal benutzt du Großschreibung, ein anderes mal Kleinschreibung.Versuch es doch mal einheitlich, z.B. so:
typedef struct dt_matrixliste dt_matrixliste; struct dt_matrixliste { // ... whatever ... dt_matrixliste *naechste; };
Gruß,
B.B.