...
This code example is non-compliant because it produces a universal character name by token concatenation.
Code Block | ||
---|---|---|
| ||
#define assign(uc1, uc2, uc3, uc4, val) uc1##uc2##uc3##uc4 = val; int \U00010401\U00010401\U00010401\U00010402; assign(\U00010401, \U00010401, \U00010401, \U00010402, 4); |
...
This code solution is compliant.
Code Block | ||
---|---|---|
| ||
#define assign(ucn, val) ucn = val; int \U00010401\U00010401\U00010401\U00010402; assign(\U00010401\U00010401\U00010401\U00010402, 4); |
...