Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Dima_RnD Гость
|
Добавлено: Чт Окт 30 2003 10:19 Заголовок сообщения: Макрос |
|
|
Пишется на Builder5
#define READ_FROM_INI(Sect, Name, Type) \ try { \ #SectOpt.#Name = StrTo#Type(CheckString(ini->ReadString("#Sect", "#Name", ""))); \ #SectOpt.#Name_readed = 1; \ } \ catch(...) { \ #SectOpt.#Name_readed = 0; \ };
-этот макрос почему-то не хочет идти. |
|
Вернуться к началу |
|
|
Dima_RnD Гость
|
Добавлено: Чт Окт 30 2003 21:57 Заголовок сообщения: Прошу прощения - тема: Препроцессор в С++ |
|
|
>>Пишется на Builder5 >> >>#define READ_FROM_INI(Sect, Name, Type) >> try { >> #SectOpt.#Name = StrTo#Type(CheckString(ini->ReadString("#Sect", "#Name", ""))); >> #SectOpt.#Name_readed = 1; >> } >> catch(...) { >> #SectOpt.#Name_readed = 0; >> }; >> >>-эта макро-подстановка почему-то не хочет компилироваться. |
|
Вернуться к началу |
|
|
Datum Гость
|
Добавлено: Сб Ноя 01 2003 17:34 Заголовок сообщения: Возможная причина |
|
|
Не совсем понял, что за диезы стоят в макроопределении (#). Если это прямая подстановка аргумента, диез не нужен, а если конкатенация - нужно два диеза ##. Желаю удачи! |
|
Вернуться к началу |
|
|
|