Qt5.12.4 中报错:invalid operands of types ‘qreal{aka double}’ and ‘double’ to binary ‘operator%’
时间: 2024-11-05 13:33:55 浏览: 22
VLC-Qt 5.12.4 msvc2017x64编译版本
在Qt 5.12.4 版本中,遇到 "invalid operands of types 'qreal (aka double)' and 'double' to binary 'operator%' 错误通常是由于你在尝试对`qreal`类型(一种增强版的双精度浮点数)和`double`类型进行取余操作,而`%`运算符在C++标准库中默认只适用于同种类型的数值。`qreal`和`double`虽然可以隐式转换,但是在进行取余运算时,Qt可能期望你明确指定一个支持该操作的操作数类型。
解决这个问题的方法有两种:
1. 如果你需要确切地对`double`值进行取余操作,你应该将其中一个值转换为`qreal`类型,然后再进行运算。例如:
```cpp
qreal qrealValue = yourDoubleValue;
double doubleValue = otherDoubleValue;
qreal remainder = qrealValue % doubleValue; // 或者 vice versa
```
2. 如果你确信`double`值不会影响程序的行为,也可以直接在`double`类型之间进行取余,但最好在使用前检查是否真的不需要`qreal`的特性。
总之,确保操作数类型匹配或适当地进行类型转换是避免这个错误的关键。
阅读全文