我正在尝试将重载函数指针作为参数传递给模板函数。
float Function1(float par1)
{
return 0;
}
float Function1(float par1, float par2)
{
return 0;
}
template<typename R, typename A1>
void Bind(R(*func)(A1))
{
std::cout << "Correct one called\n";
}
template<typename R, typename A1, typename A2>
void Bind(R(*func)(A1, A2))
{
std::cout << "False one called\n";
}
int main()
{
Bind<float, float>(&Function1);
}
即使我用 2 个浮点参数显式调用该函数,编译器似乎也无法解析正确的调用。编译器显示“不明确的函数调用”错误。
我在这里创建了一个小样本:http: //liveworkspace.org/code/4kVlUY$195
这个错误的原因是什么?谢谢你。