我正在使用 VS2010 Pro 编译器,当我在 x64 上构建时,我得到以下编译错误。在 x86 上完美编译。错误 C2704: '' : __va_start 只允许在可变参数中使用
方法声明:
int foo(char* buf, int maxChar, const char*& fmt);
定义:
int foo(char* buf, int maxChar, const char*& fmt)
{
int numChar = 0;
if (fmt)
{
va_list plist;
va_start(plist, fmt);
numChar = _vsnprintf(buf, maxChar, fmt, plist);
va_end(plist);
}
return numChar;
}
错误的含义是什么?如何解决这个问题?