D:\c++\untitled4\widget.h:42: error: call of overloaded 'qDegreesToRadians(int)' is ambiguous int x1 = centerX + radius * qCos(qDegreesToRadians(i * 10)); ^
时间: 2024-02-16 20:04:04 浏览: 74
C++错误提醒
这个错误是因为qDegreesToRadians()函数被重载了多次,编译器无法确定应该调用哪一个函数。你需要明确指定调用哪一个函数,可以使用强制类型转换或者重载函数的参数类型来解决这个问题。例如:
```cpp
int x1 = centerX + radius * qCos(qDegreesToRadians<double>(i * 10)); // 明确指定为 double 类型
```
或者在函数调用前定义一个 double 类型的变量,然后将其作为参数传递给 qDegreesToRadians() 函数,例如:
```cpp
double angle = i * 10;
int x1 = centerX + radius * qCos(qDegreesToRadians(angle)); // 使用 double 类型的变量作为参数
```
这样就可以解决这个编译错误了。
阅读全文