请问最后的while(0)后面要";"吗?为什么呢?

#define infoPrint(format,...)\
do \
{\
log4cxx::PropertyConfigurator::configure("E:\htyx\Debug\testor\log4cxx.properties");\
log4cxx::LoggerPtr infoLogger = (log4cxx::Logger::getLogger("info"));\
va_list args;\
va_start(args,format);\
CHAR szBuffer[1024];\
vsprintf(szBuffer,format,args);\
va_end(args);\
infoLogger->info(szBuffer);\
} while(0)

jeck猫
浏览 259回答 1
1回答

慕桂英546537

while(0)后面不要";假如出现下面这种情况:if (true)FUN(1);elsefunc2();当加上分号时,编译就会报错
打开App,查看更多内容
随时随地看视频慕课网APP