2016-01-08 2 views
1

Интересно, можно ли определить «определить» как макрос? НЕТКак определить «определить» как макрос, возможно ли это?

#define A #define 
A MAX_SIZE 100 
A MIN_SIZE 0 

Могу ли я это определить? (в C++)

+6

Что на Земле вы пытаетесь сделать? –

+1

Вы не должны запутывать свой код. Если вы слишком ленивы для ввода, используйте редактор с завершением текста. – Olaf

+4

Вы можете это сделать, но препроцессор не будет интерпретировать его как директиву, вы получите в своем коде буквальный '#define MAX_SIZE 100', который приведет к синтаксической ошибке на этапе компиляции. – 5gon12eder

ответ

5

№. Результат макроразложений не будет рассматриваться как новые директивы макросов.

+4

Downvoter, что не так? –

2

Вы не можете сделать этого, потому что второй #define не будет разбираться как другая директива препроцессора.

0

Вы должны написать свой собственный препроцессор, чтобы сделать это, как и в этом посте:

Custom gcc preprocessor

Смежные вопросы