宏定义简单问题
- C/C++ code
#include <stdio.h>#include <stdlib.h>void draw536(){ printf("draw536 is called!");}int main(int argc,char *args[]){ callstr("draw","536"); //callstr 是一个宏定义,这个宏定义怎么写才能调用到函数draw536 ? system("pause"); return 0;}[解决办法]
这样写倒是可以
#define callstr(a,b) a##b()
使用的时候
callstr(draw,536);
[解决办法]
- C/C++ code
#define callstr(x, y) x##y()void draw536(){ printf("draw536 is called!");}int main(int argc,char *args[]){ callstr(draw, 536); //callstr 是一个宏定义,这个宏定义怎么写才能调用到函数draw536 ? return 0;}