Здравствуйте!
Понадобилось мне написать макрос с переменныч числом параметров. Читаю Г.Шилдта, "Полный справочник по С"
... препроцессора является возможность обрабатывать макросы с переменным количестком аргументов. ... Встроенный препроцессорный идентификатор __VA_ARGS__ определяет, куда будут подставляться аргументы....
О чудо! Есть нужное мне средство!!! Но, увы, выясняется, что это изменения стандарта С99, а у меня — Vc98
Неужели нет решения для более ранней версии С?
Может, есть? Может, кто знает?
З.Ы. Только не советуйте, пожалуйста, поставить новую студию и писать на ней! Сейчас не могу еще.
А ты вообще откажись от макросов.
Макросы есть зло в чистом виде. Вот тут недавно пробегали мучения товарища, которому потребовалось в классе определить функцию, имя которой совпдает с именем WinAPI функции.
Да здравствует мыло душистое и веревка пушистая.
Re: Макрос с переменныч числом параметров
От:
Аноним
Дата:
24.09.03 11:05
Оценка:
В часто задаваемых вопросах было что-то про макросы с переменным числом параметров. Смотри там.
Re[2]: Макрос с переменныч числом параметров
От:
Аноним
Дата:
24.09.03 11:06
Оценка:
Зло-то оно зло, только отказаться от них невозможно. Во всех библиотеках здоровенное количество макросов.
Здравствуйте, Constructor, Вы писали:
C>Здравствуйте, Аноним, Вы писали:
А>>В часто задаваемых вопросах было что-то про макросы с переменным числом параметров. Смотри там.
C>Что-то я не понял, где эти вопросы? Ссылку можно?
Заходишь в Статьи ->в С++ -> как задать переменное число параметров в #define.
А потом поиск запусти — найдешь.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали:
LVV>Здравствуйте, Constructor, Вы писали:
C>>Здравствуйте, Аноним, Вы писали:
А>>>В часто задаваемых вопросах было что-то про макросы с переменным числом параметров. Смотри там.
C>>Что-то я не понял, где эти вопросы? Ссылку можно? LVV>Заходишь в Статьи ->в С++ -> как задать переменное число параметров в #define. LVV>А потом поиск запусти — найдешь.
Нашел!
Посмотрел... не то, что надо. Я хотел через макрос функцию определить. Вроде того:
Не идея, но слабый свет в конце тоннеля: а если попробовать ВСЕ параметры функций как-то сделать ОДНИМ аргументом макроса. Тут жн текстовая замена идет: одно строка(имя параметра макроса) -> другая строка (параметры функции через запятую).
Помнится я на макроассемблере такое запросто делал.
Нельзя ли использовать операции # и ##?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!