(ANSI C) Fehler C2133 - Was ist hier wohl falsch?



  • Hallo Zusammen,

    ich benötige nochmal ein klein wenig Hilfe für mein WinAPI-Programm.

    Ich bekomme den Fehler "C2133 - Unbekannte Größe" und frage mich, was das wohl sein könnte. Was mich sehr wundert ist, dass das Struct "Konto" eigentlich genauso deklariert und genutzt wird, wie das struct "Zuordnungsdaten". Hier mal der Code und die Fehlermeldungen. Ich hoffe, dass mir jemand helfen kann. Schon mal Danke für jedwede Hilfe:

    #ifndef DATASTRUKTUR_H
    #define DATASTRUKTUR_H
    
    // Defines
    #define BUFFERGROESSE   32767
    
    // Datenstrukturen für den Dateizugriff
    struct auszugdaten
    {
        char    kontonummer         [015];
        char    blz                 [015];
        char    datumauszug         [020]; 
        char    saldo               [015];
        char    kwaehrung           [005];
        char    buchungsdatum       [020];
        char    datumwertstellung   [020];
        char    geschvorfall        [100];
        char    verwendungszweck    [200];
        char    empfaenger          [150];
        char    betrag              [021];
        char    awaehrung           [005];
        char    kategorie           [200];
        char    status              [005];
    };
    
    struct zuordnungdaten
    {
        char    schluesseltext      [010];
        char    kontonr             [015];
        char    prioritaet          [010]; 
    } sqlZuordnung; 
    
    // Dazu die programminternen Variablen
        char    strSchluesseltext   [010];
        char    strKontonr          [015];
        char    strPrioritaet       [010]; 
    
    // Und die Tabelle zum Zwischenspeichern
    
    // Datenstrukturen für den Datenbankzugriff/Entitaet "Konto"
    struct konto
    {
        char    kontoklasse         [005];
        char    kontogruppe         [005];
        char    kontonummer         [005];
        char    kontoname           [030];
        char    bemerkung           [150];
    } sqlKonto;
    
    // Dazu die programminternen Variablen
        char    strKontoklasse      [1024];
        char    strKontogruppe      [1024];
        char    strKontonummer      [1024];
        char    strKontoname        [1024];
        char    strBemerkung        [1024];
    
    // Tabelle für Selectzugriff
        struct konto tabelle        [32000];
        struct zuordnungsdaten tabZuordnung         [2000];
    
    #endif
    

    Fehlermeldung:
    --------------
    d:\sourcen\konto\datenstrukturen.h(60) : error C2133: 'tabZuordnung' : Unbekannte Groesse
    d:\sourcen\konto\dbfunc.c(176) : error C2036: 'struct zuordnungsdaten *' : Unbekannte Groesse
    d:\sourcen\konto\dbfunc.c(176) : error C2037: Die linke Seite von 'schluesseltext' gibt die undefinierte Struktur/Union 'zuordnungsdaten' an
    d:\sourcen\konto\dbfunc.c(176) : warning C4090: 'function' : Unterschiedliche 'const'-Bezeichner
    d:\sourcen\konto\dbfunc.c(176) : warning C4024: 'strcpy' : Unterschiedliche Typen fuer formalen und uebergebenen Parameter 1
    d:\sourcen\konto\dbfunc.c(176) : error C2198: 'strcpy' : Nicht genuegend Parameter uebergeben
    d:\sourcen\konto\dbfunc.c(177) : error C2036: 'struct zuordnungsdaten *' : Unbekannte Groesse
    d:\sourcen\konto\dbfunc.c(177) : error C2037: Die linke Seite von 'kontonummer' gibt die undefinierte Struktur/Union 'zuordnungsdaten' an
    d:\sourcen\konto\dbfunc.c(177) : warning C4090: 'function' : Unterschiedliche 'const'-Bezeichner
    d:\sourcen\konto\dbfunc.c(177) : warning C4024: 'strcpy' : Unterschiedliche Typen fuer formalen und uebergebenen Parameter 1
    d:\sourcen\konto\dbfunc.c(177) : error C2198: 'strcpy' : Nicht genuegend Parameter uebergeben
    d:\sourcen\konto\dbfunc.c(178) : error C2036: 'struct zuordnungsdaten *' : Unbekannte Groesse
    d:\sourcen\konto\dbfunc.c(178) : error C2037: Die linke Seite von 'prioritaet' gibt die undefinierte Struktur/Union 'zuordnungsdaten' an
    d:\sourcen\konto\dbfunc.c(178) : warning C4090: 'function' : Unterschiedliche 'const'-Bezeichner
    d:\sourcen\konto\dbfunc.c(178) : warning C4024: 'strcpy' : Unterschiedliche Typen fuer formalen und uebergebenen Parameter 1
    d:\sourcen\konto\dbfunc.c(178) : error C2198: 'strcpy' : Nicht genuegend Parameter uebergeben
    import.c
    d:\sourcen\konto\datenstrukturen.h(60) : error C2133: 'tabZuordnung' : Unbekannte Groesse
    kerstell.c
    d:\sourcen\konto\datenstrukturen.h(60) : error C2133: 'tabZuordnung' : Unbekannte Groesse
    konto.c
    d:\sourcen\konto\datenstrukturen.h(60) : error C2133: 'tabZuordnung' : Unbekannte Groesse
    d:\sourcen\konto\konto.c(238) : warning C4047: '=' : Anzahl der Dereferenzierungen bei 'unsigned int ' und 'char *' unterschiedlich
    d:\sourcen\konto\konto.c(245) : warning C4047: '=' : Anzahl der Dereferenzierungen bei 'unsigned int ' und 'char *' unterschiedlich
    kontozuordnung_anzeigen.c
    d:\sourcen\konto\datenstrukturen.h(60) : error C2133: 'tabZuordnung' : Unbekannte Groesse
    zuordnung.c
    d:\sourcen\konto\datenstrukturen.h(60) : error C2133: 'tabZuordnung' : Unbekannte Groesse
    Generieren von Code...
    Fehler beim Ausführen von cl.exe.

    Konto.exe - 15 Fehler, 8 Warnung(en)

    Viele Grüße

    Oliver



  • warum füllst du die arraygrößen vorne mit nullen? das ist imho nicht erlaubt. und was hat das ganze im Winapi Forum zu tun? 😕



  • Original erstellt von < >:
    warum füllst du die arraygrößen vorne mit nullen? das ist imho nicht erlaubt. und was hat das ganze im Winapi Forum zu tun? 😕

    er ist danger seeker.
    also die oktalzahlen da sind schon cool. sogar drauf geachtet, daß keine 8 oder 9 vorkommt, damit es nachher feine laufzitfehlerchen gibt.
    und der erste fehler ist einfach ein tippfehler, das s fehlt in tabzuordnungdaten.

    verschieben nach C wäre nett.



  • Hallo,

    danke für die Antworten. Es hat jetzt funktioniert.

    Gruß

    Oliver
    P.S: Ich versuche nächstesmal gleich das richtige Forum auszusuchen.


Anmelden zum Antworten