extern struct
-
hi
hab da ein kleines problem mit extern. ich habe einen "struct-variable" in einer datei und möchte auf diese durch extern in einer anderen c-datei zugreifen. das ganze sieht so aus:
gemeinsame header datei:
... typedef struct { char date[50]; char from[80]; char to[80]; char subject[512]; } s_header; ...
die eine c-datei:
... s_header *headerList = NULL; ...
die zweite c-datei:
... extern struct s_header *headerList; ... void igrendeinefunktion() { rcvDate->setTxt(headerList[selected].date); } ...
fehlermeldungen in der zeile: rcvDate->setTxt(headerList[selected].date);
error C2036: 'struct s_header *' : Unbekannte Groesse
error C2027: Verwendung des undefinierten Typs "s_header"
: Siehe Deklaration von 's_header'
error C2228: Der linke Teil von '.date' muss eine Klasse/Struktur/Union seinwie muss ich das anstellen das das funktioniert
?...irgendeine idee?
liebe grüße
-
extern struct s_header *headerList;
muss
extern s_header *headerList;
sein, also ohne struct.
-
danke, aber das hab ich schon probiert. dann krieg ich diese fehlermeldungen:
error C2143: Syntaxfehler : Fehlendes ';' vor '*'
error C2501: 'headerList' : Fehlende Speicherklasse oder Typbezeichnerund diese beziehen sich dann auf diese zeile:
extern s_header *headerList;
-
So weit mir bekannt darf eine extern-Variable auf max. 6 Zeichen bestehen... vllt ist das der Grund?!
-
das ist es auch nicht...habs grad probiert
-
Sicher, dass die zweite C Datei den Header eingebunden hat ?
-
Ich denke auch das es dann wohl ein Fehler beim einbinden sein wird...
-
oh gott wie peinlich!! .. ihr habt recht, der header war in der zweiten datei nicht eingebunden .. mein erter beitrag und dann sowas
vielen dank!