这是c++的一个函数,显示错误 term does not evaluate to a function,我感觉没错啊。

2024-12-12 11:45:46
推荐回答(4个)
回答1:

这应该是一个友元函数,用来计算两点之间的距离。但注意到,该友元函数声明在类TestClass2中,但形参是类TestClass1类型的两个点,逻辑关系上没有不合理之处,但从使用角度来说,就不那么方便了,建议将该函数定义在TestClass1或TestClass2中:
float TestClass1::Distance(TestClass1 &p,TestClass1 &q) {
float result;
//********4********
result = sqrt((p.X-q.X)*(p.X-q.X)+(p.Y-q.Y)*(p.Y-q.Y));
out< return result;
}

float TestClass2::Distance(TestClass2 &p,TestClass2 &q) {
float result;
//********4********
result = sqrt((p.X-q.X)*(p.X-q.X)+(p.Y-q.Y)*(p.Y-q.Y));
out< return result;
}

回答2:

(p.Y-q.Y)(p.Y-q.Y) 这表达式明显是错的啊。。。

C/C++感兴趣的,欢迎来来贴吧codeblocks吧玩

回答3:

(p.Y-q.Y)(p.Y-q.Y)
这个地方少了乘号

回答4:

你传入指针,应该用指针用法,p->X 或 q->Y。