我定义了类似的宏,只是它们的区别是数字。例如
#define Function_01_Call(param) (FunctionName((int)01, param))
#define Function_02_Call(param) (FunctionName((int)02, param))
#define Function_03_Call(param) (FunctionName((int)03, param))
#define Function_04_Call(param) (FunctionName((int)04, param))
我想使用宏Function_XX_Call调用函数FunctionName。如何将一个字符串用于宏并更改其数字?我试过了
#define FUNCTION_CALL(num) Function_num_Call
int main()
{
char num;
for(num = "01"; num<="04"; num++)
{
FUNCTION_CALL(num); //HOW TO PASS param HERE?
}
}
但是如何在调用期间动态更改数字,因为变量不能在宏中使用。另外如何在通话期间传递参数?有没有办法使用函数指针?