Предположим, я определяю BAR в foo.h. Но foo.h может и не существовать. Как мне его включить, чтобы компилятор не жаловался на меня?
#include "foo.h"
#ifndef BAR
#define BAR 1
#endif
int main()
{
return BAR;
}
Следовательно, если BAR был определен как 2 в foo.h, то программа вернет 2, если foo.h существует, и 1, если foo.h не существует.