Typenumwandlung
-
Hallo Forum,
erhalte folgende Meldung vom Compilier:
C:\tnn2\tnn\l2misc.cpp(466) : warning C4244: '=' : Konvertierung von 'unsigned short' in 'char', moeglicher Datenverlust
lnkpoi->flag = (char)0;
Was ist hier falsch ?
Warnungen sind zwar nicht weiter schlimm, aber optisch hesslich :((
mfg Oliver Kern.
-
unsigned char ist laenger als char.
ein unsigned short groesser als ein char. wenn jetzt der text in dem short laenger als ein char ist, gehen daten verloren.
[ Dieser Beitrag wurde am 16.06.2003 um 20:00 Uhr von archivar editiert. ]
-
Die Warnung passt überhaupt nicht zu der angegebenen Zeile. Dort wird zuerst ein int in char umgewandelt, und dann ein char in den Typ von lnkpoi->flag. Niemals ein unsigned short in char.
-
Hallo Bashar,
du hast recht, weil folgendes:
lnkpoi->RTT =
lnkpoi->flag = 0;geaendert:
lnkpoi->RTT = 0;
lnkpoi->flag = 0;kommt kein Meldung mehr.
mfg Oliver Kern.