C/C++の可変長引数マクロで引数の数でオーバーロードしたい
#define SELECTER(_1, _2, SELECT, ...) SELECT #define FOO(...) SELECTER(__VA_ARGS__, WAN, NYAN) (__VA_ARGS__) FOO(neko) // expanded to `NYAN (neko)` FOO(inu, dog) // expanded to `WAN (inu, dog)`
参考
c - Overloading Macro on Number of Arguments - Stack Overflow
c++ - Can macros be overloaded by number of arguments? - Stack Overflow