错误:表达式不能用作函数?

Lor*_*iRS -1 c++ compiler-errors

我在程序中创建了一个快速方法,使用距离公式计算两点之间的距离,这里是代码:

#include <iostream>
#include <cmath>

using namespace std;

int distanceFormula(int x1, int y1, int x2, int y2) {
    double d = sqrt((x1-x2)^2(y1-y2)^2);
    return d;
}
Run Code Online (Sandbox Code Playgroud)

它给我一个编译器错误,我声明"d"变量说"错误:表达式不能用作函数".这是什么意思?我做错了什么?

Mr_*_*uet 7

小心,(x1-x2)^2这里不会做2的指数.请访问http://www.cplusplus.com/reference/cmath/pow/.

其次,你可能忘记了+你的表达:

int distanceFormula(int x1, int y1, int x2, int y2) {
    double d = sqrt(pow(x1-x2, 2) + pow(y1-y2, 2));
    return d;
}
Run Code Online (Sandbox Code Playgroud)

  • 万一您感兴趣,`^`(XOR)实际上是C / C ++中的运算符。参见http://www.cplusplus.com/doc/boolean/ (2认同)