Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
#1

Проверка объявления нескольких define - C++

22.12.2013, 10:11. Просмотров 283. Ответов 4
Метки нет (Все метки)

Как проверить, что объявлены оба этих дефайна?
C++
1
2
3
4
#define SOME_VAR1 100
#define SOME_VAR2_EXIST
 
#ifdef SOME_VAR1 && SOME_VAR_EXIST //ошибка
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2013, 10:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проверка объявления нескольких define (C++):

#define с переносом в нескольких строк - C++
В общем, не важно что я дефайню... #define TRANSFER(xmm1, xmm2) _asm{\ pxor xmm2, xmm2; \ pextrw eax, xmm1, 0; \ ...

Проверка синтаксиса объявления переменных - C++
суть задачи такова: во входном файле код объявления переменных.. нужно проверить на наличие ошибок, и выдать позицию первой ошибки.. ...

Проверка нескольких условий - C++
Здравствуйте. Есть массив чисел А. Мне нужно проверить все ли они меньше единицы - ((A<1)&&(A<1)&&......&&(A<1)). Можно ли как-то...

Проверка на ввод только нескольких букв - C++
Проверка на ввод только цифр или букв, понятна, а вот собственно нужно ввести только три буквы по очереди типа R, Y, W в противном случае...

Проверка нескольких Edit на пустоту и нули - C++
Доброй ночи всем! На форме размещено несколько полей Edit. При наведении мыши на кнопку происходит проверка Edit'ов на пустоту и нулевые...

Битовые операции, проверка значений нескольких элементов - C++
Сам не понял что в названии темы написал, ну да ладно... Вот берём битсумму: int a = 1<<0|1<<1|1<<2|1<<3 Как проверить, что...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
22.12.2013, 10:37 #2
http://stackoverflow.com/questions/3...e-preprocessor
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
22.12.2013, 11:03  [ТС] #3
Tulosba, таки не работает корректно. Может ли оное быть потому, что одна из них определа, а другая определена со значением? Или это я уже где-то накосячил?
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
22.12.2013, 11:40 #4
Цитата Сообщение от nexen Посмотреть сообщение
таки не работает корректно.
Может потому что SOME_VAR2_EXIST не есть SOME_VAR_EXIST?
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
22.12.2013, 12:39  [ТС] #5
Tulosba, это я в примере ошибся. На деле у меня есть так:
C++
1
2
3
#define SMEM 100000
#define SMEM_READ
#define SMEM_WRITE
Если SMEM не определено, то массив не создан, а значит читать или писать не надо:
C++
1
#if defined(SMEM) && defined(SMEM_READ)
и такое же условие на WRITE. Если не определено SMEM_WRITE не нужно только писать в массив, но читать из него надо.
Правильно ли я сделал? Я думаю да, но не работает. Если и Вы считаете это верным, значит ошибся где-то ещё

Добавлено через 52 минуты
Так да, была ошибка в другом месте
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2013, 12:39
Привет! Вот еще темы с ответами:

define - C++
Всем здрасьте , что означает эта строчка? #define MAX(a,b) a>b? a:b

c++11 и $define - C++
Есть код который прекрасно компилируется без -std=c++11, но как только я включаю эту опцию то константы препроцессора не заменяются и...

#define c :: - C++
Подскажите как реализовать такую замену: #define sa2::sys::getClientKernel()->getXDBTManager() cls_SimpleXDBTManager::Instance() ...

#define - C++
Здравствуйте, дорогие программисты! сразу хочу сказать, что в С++ я совсем недавно, поэтому толком ничего не знаю Во-первых,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
22.12.2013, 12:39
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru