Вещи между #if 0
и #endif
будут игнорироваться компилятором. (Ваш препроцессор может фактически удалить его, прежде чем «компилятор» сможет даже взглянуть на него!)
#if 0
/* 42 is the answer. */
Have you tried jQuery?
@Compiler Stop ignoring me!!
#endif
Вы будете лучше контролировать, если будете использовать #ifdef
s:
// #define DEBUG
#ifdef DEBUG
MyFunction();
std::cout << "DEBUG is defined!";
#endif
// Later in your code...
#ifdef DEBUG
std::cout << "DEBUG is still defined!";
#endif
Просто раскомментируйте первую строку, и ваш код #ifdef DEBUG
внезапно будет виден компилятору.
P.S. Это должно очистить еще больше путаницы:
/*
cout << "a";
/*
cout << "b";
*/
cout << "c";
*/
Выходные данные должны быть "c"
, при условии, что ваш компилятор не выдаст вам ошибок за последние */
.