这是一个非常简单的模板问题(我认为对于 C++ 大师来说很简单),涉及制作通用数学函数。我有一个简单的 Epsilon 函数,如下所示:
template<class T>
static T Epsilon()
{
return std::numeric_limits<T>::Min();
}
我想将它分配给一些变量,如下所示:
float epsilon = Math::Epsilon();
,唉,我得到一个编译错误:
错误 C2783:“T Math::Epsilon(void)”:无法推断“T”的模板参数
我可以这样分配它,没有错误:
float epsilon = Math::Epsilon<float>();
我认为模板引擎能够看到我的 T 是“浮动的”,但显然它不能。我在这里没有理解什么?