看到我的代碼如何使用具有可變參數的宏?
#include<stdarg.h>
#define DPRINTF(_fmt, ...) debugPrintf(_fmt,__VA_ARGS__)
void debugPrintf(const char *fmt, ...)
{
char buf[128];
va_list ap;
va_start(ap, fmt);
vsnprintf(buf, sizeof(buf), fmt, ap);
va_end(ap);
fprintf(stderr,"%s",buf);
return;
}
main()
{
int a=10;
DPRINTF("a is %d",a);
DPRINTF("WHY THIS STATEMENT GETS ERROR");
}
爲什麼這個代碼不能被編譯。?? 時,即時通訊評論
//DPRINTF("WHY THIS STATEMENT GETS ERROR");
它的工作正確的..
有什麼辦法來寫與調試...(可變參數)也處理這樣的情況在這裏我不想通過任何變量
這也是工作的人....很感謝... –