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

Не работает макрос - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ По первой букве элемента и его значению найти значения остальных элементов треугольника (используя switch) http://www.cyberforum.ru/cpp-beginners/thread1828854.html
Дан прямоугольный равнобедренный треугольник. Его элементами являются: катет, гипотенуза и площадь. По первой букве элемента и его значению найти значения остальных элемнот треугольника. С полным...
C++ Ошибка при создании массива задача такая, методом перебора найти первое простое десятизначное значение дробной части е (эпсилон). для простоты решил не вычислять дробную часть а найти в интернете и забить в массив, так как... http://www.cyberforum.ru/cpp-beginners/thread1828853.html
Определить, какая из фигур (круг или квадрат) имеет большую площадь и во сколько раз (используя if) C++
Пусть заданы две фигуры- квадрат и круг. Квадрат задан значением стороны,а круг-радиуса. Определить, какая из фигур имеет большую площадь и во сколько раз. Осуществить проверку данных на...
Разложение функции в степенной ряд C++
Ребят,подсобите пожалуйста. Учусь на вечерней форме, ничего не успеваю + с объяснениями преподы не заморачиваются(времени мало на всех), отстаю от программы приходилось как сироте по знакомым...
C++ Разработать программу на языке C++, включающую функции для следующих операций: http://www.cyberforum.ru/cpp-beginners/thread1828812.html
Если кому не трудно, помогите написать программу) Разработать программу на языке C++, включающую функции для следующих операций: 1. Сложение и вычитание n – разрядных чисел; 2. Умножение n –...
C++ Требуется двоично-десятичное число перевести в десятичное Помогите пожалуйста реализовать подробнее

Показать сообщение отдельно
[progeR]
30 / 8 / 0
Регистрация: 20.08.2011
Сообщений: 607
Завершенные тесты: 1

Не работает макрос - C++

18.10.2016, 13:29. Просмотров 155. Ответов 3
Метки (Все метки)

Добрый день.
Есть макросы:
C++
1
2
3
4
5
6
#define ACTION(var, value) int var = value;
 
#define EXEC_ACTION(value, handler, ...) handler(value, __VA_ARGS__)
#define EXTEND_MARCO_ARGS(...) __VA_ARGS__
#define ENUMERATE_MARCO_ARGS(args) EXTEND_MARCO_ARGS args
#define DO(value, data) EXEC_ACTION(value, ENUMERATE_ARGS(data))
Далее он вызывается:
C++
1
DO(testIntVar, (ACTION, 123))
Должно раскрыться в:
C++
1
int testIntVar = 123;
Однако мне пишет:
Код
ошибка: 'ACTION' does not name a type
Почему? Как исправить? Макрос DO по задумке должен вторым аргументом принимать параметры в круглых скобках.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru