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

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

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

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

22.12.2013, 10:11. Просмотров 255. Ответов 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++
C++ #define
define не C++
define C++
C++ c++11 и $define
Проверка нескольких условий C++
Проверка на ввод только нескольких букв C++
#define с переносом в нескольких строк C++
C++ #define c ::
C++ Проверка нескольких Edit на пустоту и нули
C++ Битовые операции, проверка значений нескольких элементов

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4390 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
22.12.2013, 10:37     Проверка объявления нескольких define #2
http://stackoverflow.com/questions/3...e-preprocessor
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
22.12.2013, 11:03  [ТС]     Проверка объявления нескольких define #3
Tulosba, таки не работает корректно. Может ли оное быть потому, что одна из них определа, а другая определена со значением? Или это я уже где-то накосячил?
Tulosba
:)
Эксперт С++
4390 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
22.12.2013, 11:40     Проверка объявления нескольких define #4
Цитата Сообщение от nexen Посмотреть сообщение
таки не работает корректно.
Может потому что SOME_VAR2_EXIST не есть SOME_VAR_EXIST?
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
22.12.2013, 12:39  [ТС]     Проверка объявления нескольких define #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 минуты
Так да, была ошибка в другом месте
Yandex
Объявления
22.12.2013, 12:39     Проверка объявления нескольких define
Ответ Создать тему
Опции темы

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