Если вы хотите явно вызвать определенную функцию из набора перегрузок, вы можете привести функцию к указателю на функцию с подписью, которую вы хотите. Это выглядело бы как
void f(int) { std::cout << "void f(int) \n"; }
void f(const int&) { std::cout << "void f(const int&)\n"; }
int main ()
{
auto fi = static_cast<void(*)(int)>(f);
auto fciref = static_cast<void(*)(const int&)>(f);
fi(2);
fciref(2);
}
, который выдает
void f(int)
void f(const int&)
В противном случае вы не можете вызвать свою функцию, так как ни одна из них не лучше, чем другая в соответствии с правилами t ie.