我对
有以下声明distance = sqrt (pow(point2X - point1X), 2) + (pow(point2Y - point1Y, 2));
这给出了以下错误
错误:没有匹配的函数可以调用'pow(double)'
答案 0 :(得分:2)
您放错了括号。应该是:
distance = sqrt (pow(point2X - point1X, 2) + pow(point2Y - point1Y, 2));
一种更好的表达方式是:
xdiff = point2X - point1X;
ydiff = point2Y - point1Y;
distance = std::sqrt( xdiff * xdiff + ydiff * ydiff);
如果您使用C ++ 11,则可以使用std::hypot
distance = std::hypot ( point2X - point1X, point2Y - point1Y );