gpt4 book ai didi

c++ - 删除 vector 问题 vector 中的对象

转载 作者:行者123 更新时间:2023-11-28 01:14:56 26 4
gpt4 key购买 nike

我试图从一个本身包含在另一个 vector 中的 vector 中“删除”一个元素。但是,要么我忘记了如何执行此操作,要么我错过了要点,要么存在巨大的疏忽。无论我尝试什么,它总是会删除 vector 中的第一个元素。

void release_docking() {

int loop_R = (int)parent_cell->cells.size();

for (int i = 0; i < loop_R; i++) {

int loop_C = (int)parent_cell->cells[i].size();

for (int j = 0; j < loop_C; j++) {

if (parent_cell->cells[i][j] = this) {

parent_cell->cells[i].erase(parent_cell->cells[i].begin() + j);

if (parent_cell->cells[i].empty()) {
parent_cell->cells.erase(parent_cell->cells.begin() + i);
}

parent_cell = nullptr;
is.docked = false;
resize_cells(root_cell);
break;
}
}
}
}

最佳答案

这一行

if (parent_cell->cells[i][j] = this) {

会将 this 分配给 parent_cell->cells[i][j] 并评估为 true。

之后它将被删除。

应该是 == 而不是 =

最近的编译器应该警告你这一点。确保警告已打开。

关于c++ - 删除 vector 问题 vector 中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58989427/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com