对于下面这行代码:
for (int i = 1; i <= var; i++) {
double inc = (14.0) - double(ceil(log10(i)))};
一直报错
Overloading ambiguity between "std::log10(double)" and "std::log10(float)"
我也尝试同时转换 inc
和 ceil(log10(i))
漂浮无济于事。想法?
最佳答案
是什么让您认为类型转换 inc
或 ceil
会有帮助?编译器告诉您它无法确定您是想要 log10(float)
还是 log10(double)
。您需要向编译器说明这一点
double inc = (14.0) - double(ceil(log10((float)i)));
或
double inc = (14.0) - double(ceil(log10((double)i)));
关于C++变量重载歧义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32577017/