在参数上重载宏
我有两个宏FOO2和FOO3:
FOO2
FOO3
#define FOO2(x,y) ...#define FOO3(x,y,z) ...
我想定义一个新的宏FOO详情如下:
FOO
#define FOO(x,y) FOO2(x,y)#define FOO(x,y,z) FOO3(x,y,z)
但这不起作用,因为宏不会对参数超载。
不修改FOO2和FOO3,有什么方法可以定义宏吗?FOO(使用__VA_ARGS__或以其他方式)获得同样的调度效果FOO(x,y)到FOO2,和FOO(x,y,z)到FOO3?
__VA_ARGS__
FOO(x,y)
FOO(x,y,z)
胡说叔叔
相关分类