invalid application of 'sizeof' to incomplete type 'adressen'
-
Folgendes Beispiel aus dem Buch "C von A bis Z":
struct { char name[20]; char vornam[20]; char wohnort[30]; int alter; int plz; char Strasse[30]; } adressen; FILE *quelle; strcpy(adressen.name, "George W."); strcpy(adressen.vornam, "Bush"); strcpy(adressen.wohnort, "Washington D.C"); adressen.alter = 55; adressen.plz = 23223; ... if((quelle=fopen("adres.dat", "w+b")) == NULL) ... fwrite(&adressen, sizeof(struct adressen), 1, quelle);
Habe ich leicht ergänzt und dann kompiliert, der Code sieht jetzt so aus:
#include <stdio.h> #include <string.h> struct { char name[20]; char vornam[20]; char wohnort[30]; int alter; int plz; char Strasse[30]; } adressen; int main(void) { FILE *quelle; strcpy(adressen.name, "George W."); strcpy(adressen.vornam, "Bush"); strcpy(adressen.wohnort, "Washington D.C"); adressen.alter = 55; adressen.plz = 23223; if((quelle=fopen("adres.dat", "w+b")) == NULL) { printf("Konnte nicht in adres.dat schreiben.\n"); } fwrite(&adressen, sizeof(struct adressen), 1, quelle); }
Allerdings kommt beim kompilieren die im Titel genannte Fehlermeldung.
-
Es gibt kein
struct adressen
.adressen
ist eine Variable. Versuchs mal so:... fwrite(&adressen, sizeof adressen, 1, quelle); ...