小编Ern*_*nst的帖子

对象不能被赋值,因为它的复制赋值运算符被隐式删除错误

在我的小型砖石克隆游戏中,我试图从向量中删除一些值。该向量包含 Brick 类,它们以网格状模式在屏幕上实例化。当球和砖块发生碰撞时,砖块需要消失。我试图用这段代码来完成这个:

for (int i = 0; i < bricks.size(); ++i)
{
    if (bricks[i].destroyed)
    {
        bricks.erase(bricks.begin()+i);
    }
}
Run Code Online (Sandbox Code Playgroud)

但不幸的是我得到这个编译错误:

Object of type 'Brick' cannot be assigned because its copy assignment operator is implicitly deleted
Run Code Online (Sandbox Code Playgroud)

当我点击这个错误时,它把我带到了这段代码:

for (; __first != __last; ++__first, (void) ++__result)
    *__result = _VSTD::move(*__first);
return __result;
Run Code Online (Sandbox Code Playgroud)

有人可以给我建议如何解决这个问题吗?

c++ clang

6
推荐指数
1
解决办法
9343
查看次数

标签 统计

c++ ×1

clang ×1