Bonjour à tous.
J'ai un petit problème dans la compilation de mon code : le compilateur m'envoie le message suivant:
projectpath\file.c(71) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
Voilà la ligne de code sur lequel le warning porte :
*num = -2147483648;
Pourtant si je ne me trompe pas les "signed long int" (sur lequel num pointe) vont de -2^31 à 1^31-1, or -2147483648 = -2^31 .
Le compilateur ne devrai donc pas considerer comme un nombre non signé.
Je peut toujours feinter le compilateur en mettant "*num = -2147483647 - 1", mais je crois que feinter un compilateur n'est pas toujours la bonne solution pour pas truffer le code de bugs vicieux.
Partager