本文介绍了参数名省略,C ++ vs C的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在C ++中,我倾向于在某些情况下省略参数的名称。
In C++, I tend to omit the parameter's name under some circumstances. But in C, I got an error when I omitted the parameter's name.
这里是代码:
void foo(int); //forward-decl, it's OK to omit the parameter's name, in both C++ and C
int main()
{
foo(0);
return 0;
}
void foo(int) //definition in C, it cannot compile with gcc
{
printf("in foo\n");
}
void foo(int) //definition in C++, it can compile with g++
{
cout << "in foo" << endl;
}
为什么?不能在C函数定义中省略参数的名称?
Why is that? Can't I omit the parameter's name in C function definition?
推荐答案
否,在C中,不能省略函数中的参数的标识符
No, in C you cannot omit identifiers for parameters in function definitions.
C99标准说:
C ++ 14标准说:
The C++14 standard says:
这篇关于参数名省略,C ++ vs C的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!