В С++ я склонен игнорировать имя параметра при некоторых обстоятельствах. Но в C я получил ошибку, когда я опустил имя параметра.
Вот код:
void foo(int); //forward-decl, it OK to omit the parameter 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?