FYa*_*Yas 5 c++ double compiler-errors
我是C++的新手,这是我的问题:我需要这个数量:
h = pow(mesh.V()[i0],1.0/3);
Run Code Online (Sandbox Code Playgroud)
但每当我编译程序时,我都会收到此错误消息:
call of overloaded ‘pow(const double&, double)’ is ambiguous
Run Code Online (Sandbox Code Playgroud)
如果我写
double V = mesh.V()[i0];
h = pow(V,1.0/3);
Run Code Online (Sandbox Code Playgroud)
我明白了:
call of overloaded ‘pow(double&, double)’ is ambiguous
Run Code Online (Sandbox Code Playgroud)
现在我想我明白了const double和double并且引用了什么,但是如何将const double转换为double?
谢谢!
现在我想我明白 const double& 和 double& 指的是什么,但是如何将 const double& 转换为 double ?
请注意,某些编译器在错误消息中使用该语法来表示与代码中含义不同的内容。错误消息告诉您用作函数参数的类型是什么,而不是函数采用的类型。
如果您想获取double错误消息,您只需要调用一个按值返回 a 的函数double,但这不是您想要的。
您需要的是找出调用不明确的原因。编译器稍后会在错误消息中向您提供考虑的函数签名吗?它应该,并且阅读它正在考虑的不同重载将有助于找出它在这种情况下不明确的原因。