c需要变量参数

Viv*_*oel 0 c++ unix g++ variadic-functions

我有一个功能

AddSprintf(char* , ... )
Run Code Online (Sandbox Code Playgroud)

如果有人在没有两个参数的情况下调用它,我想编译时错误.目前如果有人打电话的话

AddSprintf("hello")
Run Code Online (Sandbox Code Playgroud)

有用.但我想禁用这样的呼叫.有没有办法使用g ++我可以强制传递参数?

use*_*282 7

重载AddSprintf:

void AddSprintf(const char* , ... ) {}
void AddSprintf(const char*);
Run Code Online (Sandbox Code Playgroud)

然后在编译时得到一个奇怪的错误消息 AddSprintf("hello")

但请记住,使用C++ 11,您应该使用可变参数模板,因为它们是类型安全的.