void value not ignored as it ought to be
-
Arbeite mit DevC++ (gcc) unter Windows und bekomme folgende Meldung:
.../Dev-Cpp/include/c++/streambuf:131: instantiated from here evnthnd.h:27: [b]void value not ignored as it ought to be[/b]
Zeile 27 von evnthnd.h sieht so aus:
*(_target->*_method)((TMsg*) Msg);
das ganze befindet sich in einer TemplateMethode
_target == Zeiger auf ein Objekt (TTarget)
_method == Zeiger auf TTarget::*Method(TMsg*)
TMsg == Template typename
Msg ... ist vom Typ ZMRoot und soll zu TMsg (welches von ZMRoot abgeleitet wurde) konvertiert werden.diese Streambuf Klasse verwende ich nicht (zumindestens nicht bewußt
)
Die Zeile 131 dort lautetchar_type _M_pback[_S_pback_size];
Ich seh den Zusammenhang irgendwie nicht...
Und was bedeutet "void value not ignored as it ought to be" ?
-
Was bedeutet void value not ignored as it ought to be denn normalerweise(nicht in diesem Kontext) ?
-
#include <iostream> using namespace std; void test() { // egal was... } int main() { int blah; blah = test(); // void value not ignored as it ought to be }
Z. B. hier, wenn eine Funktion eigentlich "void" (nichts) zurückliefert, man aber einer Variablen den Rückgabewert zuweisen will, was nicht geht, da es keinen gibt.
[EDIT]
Auf Deutsch: Void Wert wird nicht ignoriert, wie es eigentlich sein sollte
-
Wenn Du zB sowas machst:
void foo(Foobar& bar) { bar/=42; return; } // und dann woanders if (foo(myFoobar)) doSomething();