Привет Что я хочу: Есть две константы. При чем в одном проекте может быть объявлена только одна константа. К примеру: #define CONST_1 0x10 #define CONST_2 0x20 Нужно макросами сделать так, чтобы проект НЕ СОБИРАЛСЯ, если одновременно объявлены две константы или не объявлено ни одной. Чтобы компилятор ругался. Как сделать?
Вроде того наверное: Код (Text): #ifdef CONST_1 #ifdef CONST_2 #error blablabla #endif #endif Кошмарный конечно вариант, но на ум больше ничего не приходит. Опять таки хидер с содержанием этой ахинеи должен быть подключен после определения констант. Сами константы объявлять так: Код (Text): #ifndef CONST_2 #define CONST_1 #else #error blablabla #endif #ifndef CONST_1 #define CONST_2 #else #error blablabla #endif Думаю, адекватного способа сделать это не существует.
Код (Text): #if (defined(CONST_1) && defined(CONST_2)) || (!defined(CONST_1) && !defined(CONST_2)) #error Error #endif