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 ++我可以强制传递参数?
重载AddSprintf:
void AddSprintf(const char* , ... ) {}
void AddSprintf(const char*);
Run Code Online (Sandbox Code Playgroud)
然后在编译时得到一个奇怪的错误消息 AddSprintf("hello")
但请记住,使用C++ 11,您应该使用可变参数模板,因为它们是类型安全的.