晕,怎么为 可变参数的回调函数 写宏定义
我写了一个可变参数的函数
output(const char* str,...) 用于回调;
我可以这样实现
typedef void (*CallBack)(const char* Msg,...);
CallBack g_pCallBack;
...
//回调调用函数
void UseCallBack()
{
....
....
char str[]="this is test ";
if(g_pCallBack) -----|
----|-需要宏定义的行
g_pCallBack("output this string:%s",str); -----|
....
....
}
我本来想用
#define OUTPUT(lpConstchar) {\
if(pCallBack)\
pCallBack(lpConstchar);\
}
可是好像不行
我怎么办呢???
output(const char* str,...) 用于回调;
我可以这样实现
typedef void (*CallBack)(const char* Msg,...);
CallBack g_pCallBack;
...
//回调调用函数
void UseCallBack()
{
....
....
char str[]="this is test ";
if(g_pCallBack) -----|
----|-需要宏定义的行
g_pCallBack("output this string:%s",str); -----|
....
....
}
我本来想用
#define OUTPUT(lpConstchar) {\
if(pCallBack)\
pCallBack(lpConstchar);\
}
可是好像不行
我怎么办呢???
...全文
相关推荐
C/C++宏定义的可变参数详细解析
可变参数宏的定义:在C99中,可以使用`...`来表示可变参数列表。当宏被调用时,这些可变参数会被一系列的参数值所替代。在宏定义中,可以使用`__VA_ARGS__`来引用这些可变参数。
C语言宏定义详解
- 宏定义通常写在源文件的开头部分,位于函数外的代码区域,其作用域是定义之后的整个文件,直到遇到#undef指令来终止。- 若要终止宏定义的作用域,可以使用#undef指令。
Java数组传递及可变参数操作实例详解
在调用使用了可变参数的方法时,可以不写参数,即传入空参;可以直接在里边写入参数,参数间用逗号隔开;可以传入一个数组。
Arcgis制图之晕线.docx
ArcGIS制图之晕线技术应用ArcGIS制图之晕线是一种常用的制图技术,用于制作行政区划图时,通过添加晕线效果来突出所要表达的行政区。
c语言宏定义技巧(常用宏定义)
写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等。


