【发布时间】:2017-10-06 17:16:45
【问题描述】:
在开始使用一些 VS2005 生成的 MFC 代码时,我注意到它用类似这样的东西覆盖了一个方法:
void OnDraw(CDC* /*pDC*/)
{
...
// TODO: Add your code here
}
当然,一旦我添加了一些内容,我就意识到我需要取消注释 pDC 形式参数才能进行编译,但我对 C++ 函数如何/为什么可以编译感到困惑(没有警告)当形式参数只有类型而不是名称时:
void foo(int)
{
int x = 3;
}
int main()
{
foo(5);
return 0;
}
这不应该至少产生一个警告(使用 -Wall 或 /W4)吗?似乎没有。我错过了什么吗?是否存在这样有用的情况,或者仅仅是因为编译器在处理该行之前无法区分函数声明(仅需要类型)和定义(完全指定)?
【问题讨论】:
标签: c++ compiler-warnings