Compiler Warnung - Warum??
-
Ich habe eine Funktion geschrieben bei der die ersten Zeilen so lauten:
int i;
tAllowEntry* AllowEntry = NULL;
bool Answer = false;Wenn ich mein Projekt kompiliere werden Warnung erzeugt und ich verstehe nicht warum:
[C++ Warnung] Cbus.cpp(672): W8006 AllowEntry wird mit à5 initialisiert
[C++ Warnung] Cbus.cpp(673): W8006 Answer wird mit 45 initialisiertKann mir jemand weiter helfen?
Gruß - Michael
-
Es wäre hilfreich, zu wissen, wie tAllowEntry aussieht.
-
Kein Problem:
typedef struct tAllowEntry{
long Fsessionid;
int Fdevice;
int Fbusnr;
int Faddr;
bool Freadstate;
}tAllowEntry;Leider treten diese Warnungen sehr häufig auf und das war nur ein zufälliges Beispiel. Ich könnte noch ca. 30 andere aufführen, die ebenfalls bei der Initialisierung von Variablen auftreten.
Michael
-
Hallo
also das hier wird in einem neuen Projekt komiliert (wie zu erwarten war)
typedef struct tAllowEntry{ long Fsessionid; int Fdevice; int Fbusnr; int Faddr; bool Freadstate; }tAllowEntry; ... tAllowEntry* AllowEntry = NULL;Liegt also irgendwo anders...
Wenn man den Fehler W8006 in der Hilfe nachschlägt, erfährt man, das es etwas mit enums zu tun hat. Hast du irgendwo eine enum-Deklaration nicht abgeschlossen?
bis bald
akari
-
Welche Version des BCB verwendest Du? Mit dem BCB 6 und Update < 4, waren die Warn- und Fehlermeldung falsch. Das könnte dann auch den Werteangabensalat erklären.
-
Hallo
@Joe_M : Meinst du mich ?
Welche Version des BCB verwendest Du?
Ich benutze BCB 5 UP1.
waren die Warn- und Fehlermeldung falsch
Und was genau meinst du mit "waren falsch"? Erschienen sie oder nicht?
bis bald
akari
-
@akari: ich meinte eigentlich Mgr. Das Problem betraf den BCB 6 ohne Update 4. Dort waren in der deutschen Version die Fehlermeldungen ein paar Einträge versetzt, dass heißt es wurde eine Fehlermeldung oder Warnung ausgegeben, die ein paar Einträge vesetzt aus der Tabelle gelesen wurde. Da passten dann auch die Parameter nicht zu und es gab so seltsame Fehlermeldungen / Warnungen wie bei Mgr.
Scheint auch die richtige Vermutung zu sein. Ich hab das gerade mal in meinem BCB 5 getestet, da wird für Answer und AllowEntry die Warnung 8004 ausgegeben: W8004 'Variable' wurde ein Wert zugewiesen, der nie verwendet wird.
-
Ich habe inzwischen den BC6 mit Update 4 aktualisiert und dann waren die Warnungen wie vernutet anders:
W8004 'AllowEntry' wurde ein Wert zugewiesen, der nie verwendet wird
Damit scheint das Problem ja erklärt zu sein. Vielen Dank für den Hinweis.
Schönes Wochenende