C++相談室 part123 [無断転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0486デフォルトの名無しさん
2016/03/19(土) 21:51:12.72ID:VQqTJbFl#define SELECT4(d1, d2, d3, d4, name, ...) name
#define MAKE_ENUM(...) SELECT4(__VA_ARGS__, MAKE_ENUM_4, MAKE_ENUM_3, MAKE_ENUM_2, MAKE_ENUM_1)(__VA_ARGS__)
#define MAKE_ENUM_1(key) ENUM_ ## key
#define MAKE_ENUM_2(key, ...) ENUM_ ## key, MAKE_ENUM_1(__VA_ARGS__)
#define MAKE_ENUM_3(key, ...) ENUM_ ## key, MAKE_ENUM_2(__VA_ARGS__)
#define MAKE_ENUM_4(key, ...) ENUM_ ## key, MAKE_ENUM_3(__VA_ARGS__)
#define MAKE(...) \
typedef enum _ENUM{ \
MAKE_ENUM(__VA_ARGS__), ENUM_Num \
} ENUM; \
//const char *Name[ENUM_Num] ={ #__VA_ARGS__ };
■ このスレッドは過去ログ倉庫に格納されています