我试图通过无匹配函数来解决问题

时间:2018-06-10 04:10:41

标签: c++ function qt

确切的错误消息

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)));

}

如何解决此问题?代码看起来是正确的,但似乎由于某种原因没有匹配功能。我对编程很陌生。

1 个答案:

答案 0 :(得分:0)

如果您尝试使用标准库中的那个,请确保使用的是c ++ 17并执行std :: clamp()而不仅仅是钳位。