template<typename retType,class Func >
class Call
{
public:
Call(Func* func)
{
func(500,500);
};
};
用法:
Call<int> call(Beep);//ошибка "слишком мало аргументов шаблона"
为什么自动机不能推断出func类型?您可以使用以下函数执行此操作:
template<typename retType, class Func >
void fnc(Func* func)
{
func(500, 500);
}
用法:
fnc<int>(Beep);// все работает
