Ich versuche, ein Makro zu erstellen, um X zu definieren, aber 08 und 09 werden vom Compiler als stray-Operator fehlinterpretiert. Warum scheitern diese, wenn die anderen gut funktionieren?X Makro generieren stray Operator
#define LIST_TEST_X \
X(A,01)\
X(B,02)\
X(C,03)\
X(D,04)\
X(E,05)\
X(F,06)\
X(G,07)\
X(H,08)\
X(I,09)\
X(K,10)
enum XEnum
{
#define X(A, b) A=b,
LIST_TEST_X
#undef X
};
Wenn Sie die Ausgabe von Clang betrachten, wird es Ihnen das genaue Problem sagen: https://godbolt.org/g/WrphQz - Fehler: ungültige Ziffer '8' in Oktalkonstante LIST_TEST_X – xaxxon