Ich will ein int in einer SendMessage verwenden und dieses beim Empfänger wieder zu int wandeln.
Logischerweise warnt mein Compiler beim zurück casten, "loses precision".
Das selbe Problem habe ich auch beim casten von void* zu int (in 64bit Anwendungen).
Auch logisch, ich weiss ja, dass da nur ein int drin ist, also müsste ich die Warnung ignorieren können.
Was ich nicht weiss ist, ob das immer funktioniert, z.B. mit negativen Werten.
Was ich gerne hätte ist keine Compiler Warnung.
Also in kurz: Wie konvertiere ich das "richtig"?
Code:
int x = 17;
SendMessage(hWnd,WM_IRGENDWAS,0,(LPARAM)x);
case WM_IRGENDWAS:
int y = (int)lParam;
Logischerweise warnt mein Compiler beim zurück casten, "loses precision".
Das selbe Problem habe ich auch beim casten von void* zu int (in 64bit Anwendungen).
Auch logisch, ich weiss ja, dass da nur ein int drin ist, also müsste ich die Warnung ignorieren können.
Was ich nicht weiss ist, ob das immer funktioniert, z.B. mit negativen Werten.
Was ich gerne hätte ist keine Compiler Warnung.
Also in kurz: Wie konvertiere ich das "richtig"?