This question already has answers here:
Closed 5 years ago.
How to define macro function which support no input parameter and support also input parametr in the same time
(4个答案)
Overload C macros
(2个答案)
有没有办法定义一个或零个参数的宏?
我需要在这个例子中用到一些东西:
我找不到解决办法。
如果需要计算参数,可以检查here。
(4个答案)
Overload C macros
(2个答案)
有没有办法定义一个或零个参数的宏?
我需要在这个例子中用到一些东西:
#define MY_RETURN(ret) return ret;
void foo(){
MY_RETURN();
}
int foo_integer(){
MY_RETURN(1);
}
我找不到解决办法。
最佳答案
在C99及更高版本中,可以使用可变宏。
C11(n1570),§6.10预处理指令# define identifier lparen identifier-list , ... ) replacement-list new-line
宏可能看起来像:
#define MY_RETURN(...) return __VA_ARGS__
如果需要计算参数,可以检查here。