Множественное определение значения # препроцессораC++

Программы на C++. Форум разработчиков
Ответить
Гость
 Множественное определение значения # препроцессора

Сообщение Гость »


я создаю проект, в котором пытаюсь создать новый язык, создающий макросы.

Дело в том, что макрос с именем X используется для двух разных целей:
[*]
чтобы закрыть вызов функции скобками, например );, где ; завершает строку кода, а закрывает строку кода. блок кода,
[*]
а иногда мне хочется просто ;.

В заключение, мне нужно сделать хитрый трюк: иногда препроцессор, строка за строкой, понимает X, и это должно быть либо );, либо ;.

Могу ли я как-то сделать это с помощью оператора if else или как-то удалить его, если необходимо?

Я попробовал некоторую реализацию условного значения, где , (codition ? state1 : state2), но это было преобразовано как строка из препроцессора.

Кроме того, я пробовал использовать другие макросы каждый раз, когда они вызывали #undef X, и переопределял их в соответствии с тем, что делать в моей строке, и т. д.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»