Я хотел бы знать, почему эти объявления не будут работать(несовместимы)
void f(int); //p1
void f(const int);//p2
void f(int &);//p3
void f(const int &);//p4
Если я понятно, компилятор не найдет разницы между (int &)и (const int &)и если я напишу f(12), он не сможет выбирать между двумя первыми объявлениями.. Я прав?