J'étais curieux de savoir si le code suivant devrait se traduire par un avertissement ou non par le compilateur g ++:Ne devrait pas être ces avertissements avec g ++ -Wall?
// Snip #1
bool x = 0;
x++;
// Snip #2
switch (x) {
default:
printf("hi\n");
}
Le problème est de telles déclarations existent dans un code existant je travaille sur: - |, je suppose qu'il devrait y avoir avertissements pour ceux-ci?
J'ai g ++ - 4.4.3c
Quels avertissements attendez-vous? Lancer un avertissement dans le cas 2 pour "variable non utilisée x" est délicat car, pour tout le compilateur sait, il y avait * cas * dans ce commutateur, mais le préprocesseur les a mangés. –
correct. cela exclut la seconde. – sud03r
Si vous aviez un bon compilateur, il vous avertirait que l'incrémentation d'un booléen est une fonctionnalité de langage obsolète. –