Что в C/C++ считается сигнатурой функции?
Возьмём такой пример кода:
#include <iostream>
int Foo (int x);
int main()
{
std::cout<< Foo (10) << std::endl;
return 0;
}
int Foo (const int x)
{
return x*x;
}
Он успешно скомпилируется. Получается, компилятор проигнорировал, что в прототипе const
отсутствует, а в реализации он есть. Что же в таком случае компилятор считает сигнатурой? Какие пункты стандарта регулируют этот вопрос?
Источник: Stack Overflow на русском