确切的错误信息
error: no matching function for call to ‘clamp<unsigned char>(div_t)’
return clamp<T>(inv(div(pow(inv(src),2),dst)));
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
还有有问题的代码
template<class T>
inline T cfFreeze(T src, T dst) {
using namespace Arithmetic;
if(dst == zeroValue<T>())
return zeroValue<T>();
return clamp<T>(inv(div(pow(inv(src),2),dst)));
}
我该如何解决这个问题?该代码看起来正确,但是由于某种原因似乎没有匹配功能。我是编程新手。
最佳答案
如果要使用标准库中的库,请确保使用的是c++ 17并执行std::clamp()而不是clamp。