W8032 Temporäre Größe für 'parameter2' in Aufruf von '???' verwendet (C++)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Compiler-Fehler und -Warnungen (C++) - Index

(Die Kommandozeilenoption zur Unterdrückung dieser Warnung lautet -w-lvc)

In C++ muss einer Variable oder einem Parameter des Referenztyps eine Referenz zu einem Objekt desselben Typs zugewiesen sein. Stimmen die Typen nicht überein, wird der aktuelle Wert einer temporären Variable des korrekten Typs zugewiesen und die Adresse der temporären Variable wird der Referenzvariable oder dem Referenzparameter zugewiesen.

Die Warnung bedeutet, dass sich die Referenzvariable oder der Referenzparameter nicht auf das bezieht, was Sie erwarten, jedoch auf eine temporäre Variable, die ansonsten nicht verwendet wird.

Im folgenden Beispiel erfordert die Funktion 'f' eine Referenz zum Typ int, und 'c' ist vom Typ char.



 f(int &);
 char c;
 f(c);



Anstatt f mit der Adresse von c aufzurufen, generiert der Compiler einen Code, der äquivalent zum C++ Quelltext ist::



 int X = c, f(X);