确切的错误信息

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。

10-04 23:32