我正在学习ncurses,所以我尝试用c ++制作一个简单的蛇游戏。当我运行它时,经过几次移动后我通常会收到错误:
malloc错误 - 释放对象的校验和不正确。
令我困惑的是,我没有明确地释放任何物品。
我会跳过发布代码,因为我没有找到那种帮助。我的问题是我真的不知道如何调试它。当我在lldb中运行它时,它并没有像预期的那样接近它。
有人可以给我一些解决这个问题的指示。
修改
我知道错误的位置,但仍然不知道如何解决或导致错误。
错误:
void Snake::add_snake_part() {
snake_part new_part = {.x = 0, .y = 0};
body.push_back(new_part); // Error was here
}
您可以通过初始化看到snake_part
是一个结构。该错误似乎与body.push_back(new_part);