C++ 错误:与';不匹配;接线员='; void super::findTarget(listDlist,list::iterator t){ while(t!=Dlist.end()){ 双mypos[3]; 双重目标[3]; 双FPO[3]; 双速; 双量程; 双a、b、c、D; mypos[0]=此->x; mypos[1]=此->y; mypos[2]=此->z; 范围=此->范围; 目标[0]=t->x; 目标[1]=t->y; 目标[2]=t->z; a=目标[0]-mypos[0]; b=目标[1]-mypos[1]; c=目标[2]-mypos[2]; D=sqrt(功率(a,2.0)+功率(b,2.0)+功率(c,2.0)); 数据列表。推回(D); }; };
在第二行,C++ 错误:与';不匹配;接线员='; void super::findTarget(listDlist,list::iterator t){ while(t!=Dlist.end()){ 双mypos[3]; 双重目标[3]; 双FPO[3]; 双速; 双量程; 双a、b、c、D; mypos[0]=此->x; mypos[1]=此->y; mypos[2]=此->z; 范围=此->范围; 目标[0]=t->x; 目标[1]=t->y; 目标[2]=t->z; a=目标[0]-mypos[0]; b=目标[1]-mypos[1]; c=目标[2]-mypos[2]; D=sqrt(功率(a,2.0)+功率(b,2.0)+功率(c,2.0)); 数据列表。推回(D); }; };,c++,compiler-errors,C++,Compiler Errors,在第二行,while(t!=Dlist.end(){,我得到以下错误: C:\Users\Daniel\Desktop\project\super.cpp | 369 |错误:t!=Dlist.std::list::end>()中的“operator!=”不匹配| 我只是不被允许在函数内部这样做,还是我遗漏了什么?alist和list是两个不同的list。你不能将迭代器从一个迭代器与另一个迭代器进行比较。alist和list是两个不同的list。你不能比较一个迭代器从一个迭代器到另一个迭代器。我
while(t!=Dlist.end(){
,我得到以下错误:
C:\Users\Daniel\Desktop\project\super.cpp | 369 |错误:t!=Dlist.std::list::end>()中的“operator!=”不匹配|
我只是不被允许在函数内部这样做,还是我遗漏了什么?a
list
和list
是两个不同的list
。你不能将迭代器从一个迭代器与另一个迭代器进行比较。alist
和list
是两个不同的list
。你不能比较一个迭代器从一个迭代器到另一个迭代器。我认为不应该比较list::iterator
和list::iterator
。没有!=运算符将这两种不同类型作为参数。我认为不应该比较list::iterator
和list::iterator
。没有!=运算符这将这两种不同的类型作为参数。的确,谢谢。我找到了另一种循环方式。–user3290184刚才编辑确实,谢谢。我找到了另一种循环方式。–user3290184刚才编辑运算符!=
并没有为这些对象的类实现。最终会有一个函数实现您想要的功能。..或者您必须编写一个。运算符!=
没有为这些对象的类实现。最终会有一个函数来执行您想要的操作…或者您必须编写一个。
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);
};
};