VS2010 格式化宏定义报错
VS2010 格式化宏定义出错
用宏定义个类似printf的函数,之前这段代码在C编译器下可以正确运行(GCC、codeblocks),现在把这段代码拿到VS2010里就报错了.
要怎么办呢?
------解决方案--------------------
研究了一下,你那种写法是C语言的标准,而C++不支持,不知道你知不知道MFC里有个TRACE宏,为了实现这种多参数,只能TRACE1、TRACE2、TRACE……的写了好多个,而不能用这种通过一次性搞定的写法.
#define ZX_WRITE(fmt...) zxlog_write_save(0, fmt)
用宏定义个类似printf的函数,之前这段代码在C编译器下可以正确运行(GCC、codeblocks),现在把这段代码拿到VS2010里就报错了.
Error 1 error C2010: '.' : unexpected in macro formal parameter list c:\home\test\winmsgtest\winmsgtest\zxlog2.1.h 24 1 WinMsgTest
要怎么办呢?
------解决方案--------------------
研究了一下,你那种写法是C语言的标准,而C++不支持,不知道你知不知道MFC里有个TRACE宏,为了实现这种多参数,只能TRACE1、TRACE2、TRACE……的写了好多个,而不能用这种通过一次性搞定的写法.