此示例代码在我的系统上编译时没有错误:
void myFunc1 (const char * str, ...) {
va_list argptr;
va_start(argptr, str);
vprintf(str, argptr);
va_end(argptr);
}
void myFunc2 (const char* str, ...) {
va_list argptr;
va_start(argptr, str);
myFunc1(str, argptr);
va_end(argptr);
}
int main() {
myFunc2("test %s\n", "arbitrary text");
return 0;
}
但结果是错误的:test ░˘G
是否有任何-W*
种开关来阻止此代码编译?