Имена параметров не являются частью сигнатуры функции, только ее имя и типы параметров.
Поэтому совершенно законно не называть ваши параметры. Тем не менее, вы не можете их использовать. (если, конечно, вы не взломаете)
Некоторые взломы: Примечание - не зависит от платформы, не гарантируется стандартом, но весело :) 1007 *
void foo (int x, int, int z)
{
int* pz = &z;
int y = *(--pz);
cout << x << " " << y << " " << z;
}
int main()
{
foo(2,3,4);
// prints "2 3 4"
}
Это работает для меня на Win7, с MSVS 2008. Код зависит от того, как параметры помещаются в стек аргументов функции.
В рабочем коде вы должны использовать имена для всех параметров, в том числе в объявлениях, и сделать их как можно более описательными.