如何解决无法将值分配给2D指针数组的元素分段故障
编辑:发现错误。不要打扰。
在我的程序中,我需要在Room
的{{1}}中初始化Dungeon
。由于某种原因,我遇到了分段错误错误,但是测试项目中的完全相同的代码可以正确运行。
layout
还有其他项目:
// RPG.project
class Room {};
class Dungeon
{
public:
Dungeon(const int n,const int m) // Dungeon layout is initialized
{
this->layout = new Room** [n];
for ( unsigned int i = 0; i < n; i++ )
layout[i] = new Room* [m];
// All of the rooms are made nullptr as being non-existant at this point.
for ( unsigned int i = 0; i < n; i++ )
{
for ( unsigned int j = 0; j < m; j++ )
{
layout[i][j] = nullptr;
}
}
}
Room*** getLayout() { return this->layout; }
private:
Room*** layout;
};
class Builder
{
private:
Dungeon* dungeon;
public:
void buildroom(int x,int y) // ERROR here
{
Room*** temp = this->dungeon->getLayout();
temp[x][y] = new Room(); // Segmentation fault error
}
};
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。