目录
msvc的坑
__VA_ARGS__
exp1
exp2
一些宏
获取参数个数
获取数组个数
msvc的坑
__VA_ARGS__
exp1
如果__VA_ARGS__在宏里,那么__VA_ARGS__一定会占个位置,即使前面添加##也无用

但若修改了标准则没问题,macro正确展开为0,0

exp2
在gcc或者clang中,__VA_ARGS__会被展开为实际的参数,EXPAND在处理其参数的时候使用的是展开后的__VA_ARGS__, 当作多个变量处理。
而在msvc中,__VA_ARGS__所包含的所有元素将被作为EXPAND的1个参数进行B的替换。