在浮点运算上执行平方运算和平方根运算时:表达式必须具有整型或非整型枚举类型



我试图对浮点进行平方和平方根运算,但我得到了错误:表达式必须具有整型或未缩放的枚举类型这是什么意思?我该怎么解决?

这是我正在使用的代码:

#include <math.h>
int main()
{
    float X = 5.f;
    float Thing = X ^ 2;
    float Thing2 = sqrtf(X ^ 2);
    return 0;
}

^不是幂运算符,它是XOR运算符。

C++没有幂运算符,但是由于平方等于自己相乘,所以几乎总是这样实现的。

#include <math.h>
int main()
{
    float X = 5.f;
    float Thing = X * X;
    float Thing2 = sqrtf(X * X); //Or Thing instead of X * X
    return 0;
}

<math.h>中确实存在pow运算符,但这不是进行平方运算的标准方法,因为它必须具有额外的逻辑,以允许功率在运行时发生变化。

最新更新