如何比较两个向量?两个币头的整数值:
void interaction(vehicles::position &pos, int number, enviroment object)
{
for (auto i = object.x.begin(); i<object.x.end(); i++)
for (auto j = object.y.begin(); j<object.y.end(); j++)
if (pos.x[number] == object.x[i] && pos.y[number] == object.y[j])
cout << "\nInteraction\n";
}
Run Code Online (Sandbox Code Playgroud)
第一个向量(在课堂上声明):
int remaining_move;
struct position{
vector<int> x;
vector<int> y;
}pos;
Run Code Online (Sandbox Code Playgroud)
第二:
struct enviroment
{
vector<int> x;
vector<int> y;
string graphic;
};
Run Code Online (Sandbox Code Playgroud)
错误:
Run Code Online (Sandbox Code Playgroud)object.x[i]
这是错的.如果它i
是一个数字索引,它将起作用,但它不是:它是一个迭代器.
代替:
*i
Run Code Online (Sandbox Code Playgroud)
因此,我进一步建议称之为其他的东西i
; 怎么样it
?
此外,您的内部循环条件是错误的.你写了 [编辑:现在你已经解决了问题,出于某种原因]i
,而不是j
.两次.
归档时间: |
|
查看次数: |
118 次 |
最近记录: |