Почему следующий код не работает должным образом?
void foobar(int);
#ifndef foobar
printf("foobar exists");
#endif
Он всегда печатает сообщение; очевидно, что он не может обнаружить существование функции как сущности. (Это проблема перегрузки?)
Почему #ifdef (или его варианты) не может обнаружить объявления функций? Декларации должны быть доступны при предварительной обработке, так что это должно работать, не так ли? Если нет, есть ли альтернатива или обходной путь?
#ifndef(я забыл обновить эту строку при копировании тестового кода). - person Synetech   schedule 04.06.2011