函数定义中未命名的参数

时间:2011-12-07 18:40:01

标签: c++

我知道函数原型不需要具有与参数关联的名称。例如:

void foo(int, std::string);

我有兴趣最近发现你可以在函数定义中做同样的事情:

void* foo(void*) { std::cerr << "Hello World!" << std::endl; }

为什么这会起作用,你怎么能使用未命名的参数?是否允许这样做(比如可能处理遗留接口或类似的东西)?

1 个答案:

答案 0 :(得分:7)

如果您不打算使用该参数,那么这是阻止编译器向您发出警告的好方法。

这确实在满足界面的情况下最常出现。例如。您可能会覆盖基类方法,但对参数没有用处。