Вы создаете универсальное имя персонажа путем присоединения лексем с ## оператор
Этот дефект происходит когда две лексемы предварительной обработки, к которым соединяют с ## оператор создает универсальное имя персонажа. Универсальное имя персонажа начинается с \u или \U сопровождаемый шестнадцатеричными цифрами. Это представляет символ, не найденный в наборе основного символа.
Например, вы формируете символьный \u0401 путем присоединения двух лексем:
#define assign(uc1, uc2, val) uc1##uc2 = val ... assign(\u04, 01, 4);
Стандарт C11 (Секунда. 5.1.1.2), утверждает, что, если универсальное имя персонажа формируется маркерной конкатенацией, поведение не определено.
Используйте универсальное имя персонажа непосредственно вместо того, чтобы произвести его посредством маркерной конкатенации.
| Группа: Программирование |
| Язык: C | C++ |
| Значение по умолчанию: На для рукописного кода, прочь для сгенерированного кода |
Синтаксис командной строки:
PRE_UCNAME_JOIN_TOKENS |
| Удар: низко |