Я всегда думал, что прототип функции должен содержать параметры функции и их имена. Однако я только что попробовал:
int add(int,int);
int main()
{
std::cout << add(3,1) << std::endl;
}
int add(int x, int y)
{
return x + y;
}
И это сработало! Я даже пытался скомпилировать с особой осторожностью:
g++ -W -Wall -Werror -pedantic test.cpp
И все равно работало. Итак, мой вопрос: если вам не нужны имена параметров в прототипах функций, почему это так часто? Есть ли в этом какая-то цель? Связано ли это с сигнатурой функции?