我有一个功能
AddSprintf(char* , ... )
如果有人在没有两个参数的情况下调用它,我想产生编译时错误。
目前,如果有人打电话
AddSprintf("hello")
有用。但我想禁用这样的呼叫。
有什么办法可以使用g ++强制传递参数?
最佳答案
重载AddSprintf:
void AddSprintf(const char* , ... ) {}
void AddSprintf(const char*);
然后,在编译
AddSprintf("hello")
时会收到奇怪的错误消息但是请记住,在C ++ 11中,应使用可变参数模板,因为它们是类型安全的。