错误:'operator!='不匹配

时间:2015-12-11 20:02:06

标签: c++ compiler-errors

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!='不匹配;()'|

我是不允许在函数内部执行此操作还是我遗漏了某些内容?

2 个答案:

答案 0 :(得分:4)

list<int>list<super>是两个不同的list。您无法将迭代器从一个迭代器与另一个迭代器进行比较。

答案 1 :(得分:1)

我认为您不应该比较list<int>::iteratorlist<super>::iterator。没有!=运算符将这两种不同的类型作为参数。