Почему не предупреждает с "#if x", когда x не определен?C++

Программы на C++. Форум разработчиков
Anonymous
Почему не предупреждает с "#if x", когда x не определен?

Сообщение Anonymous »

Я иногда пишу код что -то вроде этого: < /p>

Код: Выделить всё

// file1.cpp
#define DO_THIS 1

#if DO_THIS
// stuff
#endif
Во время разработки кода я могу изменить определение do_this между 0 и 1. Но я обнаружил, что допустил ошибку, и две части стали разделенными так: < /p>

Код: Выделить всё

// file1.cpp
#define DO_THIS 1
< /code>
и < /p>
// file2.cpp
#if DO_THIS
// stuff
#endif
< /code>
Очевидно, я исправил ошибку, но потом думал про себя, почему компилятор не предупредил меня? У меня установлен уровень предупреждения 4. Почему #if x 
подозрительно, когда x не определен? Проект огромен. Но, конечно, #если бы другое.

Подробнее здесь: https://stackoverflow.com/questions/164 ... -undefined

Вернуться в «C++»