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.


Anmelden zum Antworten