![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| shad0w |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 9.5.2005 Репутация: нет Всего: нет |
Вот простой код:
Возможно ли зделать так, чтоб вот тут #define F00(a) (a.t1), а бралось со строки smbl? Тоесть, чтоб в качестве параметра F00 брался символ со строки smbl? |
|||
|
||||
| kondr |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 24.11.2005 Репутация: нет Всего: 1 |
Конечно нет. Макрос просто заменяет некоторый текст (который ты указываешь после #define) на другой текст.
Вот эта строка printf("%s\n",F00(s)) после подстановки преобразуется в printf("%s\n",s.tl). Если б ты написал printf("%s\n",F00(ёклмн)) оно бы преобразовалось в printf("%s\n",еклмн.tl) ну и естественно потом бы не скомпилировалось. Так что все это происходит на фазе анализа текста. Как ты себе представляешь подстановку символа из строки, которой еще физически не существует? |
|||
|
||||
| Neitron |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 580 Регистрация: 3.10.2005 Где: Москва Репутация: 2 Всего: 5 |
В с++ нет что-то типо eval как в javascript или php.
И оно нафиг не нужно. Чтобы добиться того что ты хочешь, можно заюзать map Это сообщение отредактировал(а) Neitron - 10.3.2006, 14:10 -------------------- Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей. Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |