Не должно быть этих предупреждений с g ++ -Wall? - PullRequest
0 голосов
/ 02 октября 2010

Мне было просто любопытно, должен ли следующий код вызывать предупреждение или нет компилятором g ++:

// Snip #1
bool x = 0;
x++;

// Snip #2
switch (x) {
default:
    printf("hi\n");
}

Проблема в том, что такие утверждения существуют в устаревшем коде, над которым я работаю: - |должны быть некоторые предупреждения для этих?

У меня г ++ - 4.4.3c

Ответы [ 2 ]

1 голос
/ 07 октября 2010

Инкремент bool является устаревшей функцией, однако он все еще действителен и достигает желаемого результата, поэтому предупреждение не должно появляться, это просто плохая практика.

1 голос
/ 02 октября 2010

С gcc -Wall фактически не включает все предупреждения. Страница man охватит все ваши варианты, но чтобы быть по-настоящему тщательным, используйте "-Wall -Weff-c ++ -pedantic -Werror".

...