如何在 C 中使用可变参数#define 类似函数的函数宏

How to #define function-like macro of the function with variable arguments in C

我有一个函数声明为:

int func(int a, int b, ...);

然后我想 #define 一个类似函数的宏:

#define TEST(A,B) func(A,B,0)

但编译器总是抱怨:“错误:预期的声明说明符或'...',在数字常量之前”。

那么,我该如何消除这个错误呢?

确保在#define 语句之前定义函数(也可以导入),以便编译器将 a 和 b 的数据类型。或者您也可以尝试将 a 和 b 定义为 (int) a.