小编Paw*_*wan的帖子

如何根据不同的参数定义相同的宏功能

#define UPUT_SET_CHECK_POINT1(appType, tag, argNum1, v1, ...)  \

if(NUMARGS(##__VA_ARGS__) == 0)           \
UPUT_SET_CHECK_POINTx(1, appType, tag,  argNum1, v1,  UPUT_P_INVALID, 0, UPUT_P_INVALID, 0, UPUT_P_INVALID, 0, UPUT_P_INVALID, 0, __FILE__, __LINE__, UPUT_SEQUENTIAL);                   \
else                                     \
UPUT_SET_CHECK_POINTx(1, appType, tag,  argNum1, v1,  UPUT_P_INVALID, 0, UPUT_P_INVALID, 0, UPUT_P_INVALID, 0, UPUT_P_INVALID, 0, __FILE__, __LINE__ , __VA_ARGS__) 
Run Code Online (Sandbox Code Playgroud)

所以当VA_ARGS为空时,我得到一个编译时错误"期望在'之前的primary-expression'"'token'.任何修复编译错误的方法.

void UPUT_SET_CHECK_POINTx(int numArg, CtblAppType appType, int tag, UputArgPos argNum1, int v1, UputArgPos argNum2, int v2, UputArgPos argNum3, int v3, UputArgPos argNum4, int v4, UputArgPos argNum5, int v5, char* fileName, unsigned …
Run Code Online (Sandbox Code Playgroud)

c++ macros

2
推荐指数
1
解决办法
3111
查看次数

标签 统计

c++ ×1

macros ×1