Warnung! Wert zugewiesen der nie verwendet wird.
-
Warum? Habe den Code aus einem Beispiel. Das wird doch wohl richtig sein was da gemacht wurde. Trotzdem kommt diese Meldung. Das Programm läuft aber ohne fehler.
Hier bekomme ich die Warnung angezeigt.
[C++ Warnung] Romain.cpp(1462): W8004 'MsgDlg' wurde ein Wert zugewiesen, der nie verwendet wird.
[C++ Warnung] Romain.cpp(1460): W8004 'MsgIcon' wurde ein Wert zugewiesen, der nie verwendet wird.MsgDlg = NULL;
-
Ist doch eigentlich selbsterklärend: die Variable MsgDlg wurde zwar deklariert und initialisiert, sie wird anschliessend aber nicht verwendet. Das ist Ressourcenverschwendung, deshalb die Warnung.
-
Wobei der Compiler von Borland hier zum Teil ganz klar fälschlicher Weise eine Warnung ausspuckt.
Wenn du zum Beispiel nen Zeiger deklarierst, initialisierst, verwendest und anschliessend löschst und (wies korrekt wäre) NULL setzt, dann erhälst du eine Warnung:char *myCharPointer_charp = new char[10]; memset(myCharPointer_charp, 0, 10); strncpy(myCharPointer, "Hello World", 9); delete [] myCharPointer; myCharPointer = NULL; // Hier produziert der BCB-Compiler fälschlicherweise eine Warnung...-junix
-
Allerdings sind diese Warnungen u.U. auch sehr nützlich, haben mir schon oft beim Fehler finden geholfen... In Junix' Beispiel ist die Warnung zwar prinzipiell immer noch richtig, aber nicht sehr sinnvoll, aber wenn einen das stört, kann man diese ja immer noch mit dem entsprechenden pragma warn ausschalten.
-
junix schrieb:
<fullquote gelöscht>
Dann kann ich diese Warnung ja vollkommen ignorieren. Wie geht das jetzt mit dem ausschalten???
So sieht das ganze ausif(MsgIcon != NULL) { delete MsgIcon; MsgIcon = NULL; } delete MsgDlg; MsgDlg = NULL;Edit:
Zitate bitte auf das Notwendigste beschränken. Danke!
-
#pragma warn -ausAuszug aus der BCBHilfe:
(Command-line option to suppress warning: -w-aus)
The variable appears in an assignment, but is never used anywhere else in the function just ending.
The warning is indicated only when the compiler encounters the closing brace.
The #pragma warn -aus switch has function-level granularity. You cannot turn off this warning for individual variables within a function; it is either off or on for the whole function.