gpt4 book ai didi

c++ - ISO C++ 说这些是模棱两可的

转载 作者:行者123 更新时间:2023-11-28 06:42:40 25 4
gpt4 key购买 nike

我收到错误:

ISO C++ 说这些是模棱两可的,即使第一个的最差转换比第二个的最差转换要好:

Distribution.H:515: note: candidate 1: Probability Normal::cdf(float64_t) const

Distribution.H:512: note: candidate 2: Probability Normal::cdf(const RationalVector&)"

RationalVector 定义为

class RationalVector : public Array<float64_t>

我无法更改此类或“cdf”函数,因为它们是第三方库的一部分。我的代码给出了以下行的错误:

return cABS*( exp(Md + 0.5*Vd)*stdN.cdf(d1) - K*stdN.cdf(d2) );

其中 d1 和 d2 都是 double 。我已经尝试将它们都转换为 float64_t 以强制使用第一个 cdf 函数:

return cABS*( exp(Md + 0.5*Vd)*stdN.cdf((float64_t)d1) - K*stdN.cdf((float64_t)d2) );

但是,错误仍然存​​在。

普通函数定义为:

Probability cdf(float64_t x) const;
Probability cdf(RationalVector const & x);

关于问题是什么或如何解决它有什么想法吗?

最佳答案

第二次重载遗漏了const,这可能是歧义的原因。

如果您打算调用第一个重载,请尝试将 stdN 设为 const 对象。

关于c++ - ISO C++ 说这些是模棱两可的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25669247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com