当我使用该代码时,我遇到了上述错误。
double x = log10(100);
我已经在同一项目的其他类中使用它,但没有显示此错误。
我该如何修复它?
非常感谢
Chintan
当我使用该代码时,我遇到了上述错误。
double x = log10(100);
我已经在同一项目的其他类中使用它,但没有显示此错误。
我该如何修复它?
非常感谢
Chintan
这个错误通常表示函数log10
有多个重载,对于该特定调用没有一个比其他重载更好的。例如,这些重载可能接受float
和double
:100
是一个可以转换为任何一种类型的int
,并且这些类型之间的转换是等价的,因此编译器无法确定最佳选项。
您可以强制显式地将转换应用于其中的一个重载:
double x = log10( 100. ); // 100. is a double
float y = log10( 100f ); // 100f is a float
int i = 100;
double z = log10( static_cast<double>(i) ); // or cast