Thursday
在第二行void super::findTarget(list<int>Dlist,list<super>::iterator t){
while(t != Dlist.end()){
double mypos[3];
double target[3];
double fpos[3];
double speed;
double range;
double a, b, c, D;
mypos[0]=this->x;
mypos[1]=this->y;
mypos[2]=this->z;
range = this->range;
target[0]=t->x;
target[1]=t->y;
target[2]=t->z;
a = target[0]-mypos[0];
b = target[1]-mypos[1];
c = target[2]-mypos[2];
D = sqrt( pow(a,2.0)+pow(b,2.0)+pow(c,2.0));
Dlist.push_back(D);
};
};
,我收到以下错误:
C:\ Users \ Daniel \ Desktop \ project \ super.cpp | 369 |错误:'t!= Dlist.std :: list&lt; _Tp,_Alloc&gt; :: end&gt中的'operator!='不匹配;()'|
我是不允许在函数内部执行此操作还是我遗漏了某些内容?
答案 0 :(得分:4)
list<int>
和list<super>
是两个不同的list
。您无法将迭代器从一个迭代器与另一个迭代器进行比较。
答案 1 :(得分:1)
我认为您不应该比较list<int>::iterator
和list<super>::iterator
。没有!=运算符将这两种不同的类型作为参数。