warning C4761: integral size mismatch in argument; conversion supplied
-
Hi,
Ich habe so ein Makro um einen SHORT auszulesen:
#define GETSHORT(x) ((x->mem_read(x->pc++ + 1) << 8) | x->mem_read(x->pc++))Leider gibt das immer die Warnung aus
warning C4761: integral size mismatch in argument; conversion supplied
Wie kann ich diese dumme Warnung wegbekommen? Ohne so einen cast
#define GETSHORT(x) ((x->mem_read((u16)(x->pc++ + 1)) << 8) | x->mem_read(x->pc++))geht das? und was soll die meldung überhaupt bedeuten? soll ich so einen cast machen wie oben oder sie mit pragma warning disable wegmachen?

-
Besinne Dich auf C und verwende Makros nur dann, wenn Du sicher weisst, was Dein C-Compiler damit macht! Wenn es Warnungen gibt oder etwas nicht läuft wie es soll, dann programmiert es einfach anders. Warum fragst Du hier?