typedef zum 2.
-
Hallo!
Ich habe mir eine Struktur definiert, die im Prinzip eine verkettete Liste sein soll.
typedef struct ListNode { tag_t value; ListNode *next; };
Jetzt kriege ich aber immer eine Warnung
warning C4091: 'typedef ' : ignored on left of 'ListNode' when no variable is declared
Was ist da das Problem? Wenn ich das typedef wegnehme, verschwindet die Warnung, allerdings würde ich schon gerne wissen, warum das so nicht läuft.
-
typedef braucht zwei angaben:
typedef gibts_schon neuer_typ;
und die zweite angabe fehlt bei dir.
probier mal so:typedef struct ListNode { tag_t value; struct ListNode *next; } ListNode;
-
Jau, alles weg. Danke
-
typedef struct { tag_t value; struct ListNode *next; } ListNode;
-
Das wiederum will mein Compiler nicht kompilieren. Nene, ich bleib bei der ersten Lösung.
-
redundanz-flamer schrieb:
typedef struct { tag_t value; struct ListNode *next; } ListNode;
^^ schwachsinn:
Was "ListNode" ist weiß er erst wenn er die Zeile abgeschlossen hat,
und dann könntest du auch struct weglassen.
-
redundanz-flamer schrieb:
typedef struct { tag_t value; struct ListNode *next; } ListNode;
mach es so
typedef struct listnode_tmp { tag_t value; struct listnode_tmp *next; } ListNode;
-
Jap da ist wohl am verständlichsten
-
lippoliv schrieb:
Jap da ist wohl am verständlichsten
wieso ist das verständlicher, als der vorschlag von 'typedeffer-freak'?
-
Erm acht n typedef von type ListNode und ListNode ...
quasi typedef struct int /bla\ int;
könnte iritieren