指针指向NULL向量
Pointer points to NULL in vector
所以我有这个类,它保存了我的一些对象生成后。我来给你介绍一下:
dungeon是一个指向dungeon类对象的指针,该对象在一个名为DungeonLayers的向量中保存着一些DungeonLayers,然后该向量保存着Chambers的名字(dungeon is fill)
当我运行这段代码时:
Game::Game(std::vector<Enemy>* e, Dungeon* d, Hero* h) {
enemies = e;
dungeon = d;
hero = h;
DungeonLayer *currentLayer = dungeon->dungeonLayers.at(0);
Chamber *currentChamber = currentLayer->chambers.at(0);
};
currentLayer和currentChamber都指向NULL,但是dungeonLayers.at(0)在"dungeon"中充满了DungeonLayer,当我在断点处查看本地时,我把它放在那里。为什么我的currentLayer指向NULL?
我是c++新手,所以我问这个问题,我可能在这里做了一些非常明显的错误
DungeonLayer *currentLayer = dungeon->dungeonLayers.at(0);
Chamber *currentChamber = currentLayer->chambers.at(0);
在形式上是不正确的,因为*currentLayer是一个指针,这意味着:
currentLayer contains address of an object of type DungeonLayer
所以你没有正确初始化currentLayer。正确使用指针类型的方法:
DungeonLayer *currentLayer = &(dungeon->dungeonLayers[0]); //address of something
清楚了吗?或者我换个更好的形式
相关文章:
- 写入向量<向量<bool>>
- 函数向量_指针有不同的原型,我可以构建一个吗
- std::向量与传递值的动态数组
- 将值指定给向量(2D)的向量中的某个位置
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 如何使用向量的template_back函数
- 尝试通过多个向量访问变量时,向量下标超出范围
- 如何通过派生类函数更改基类中的向量
- 我可以为向量函数返回 NULL<double> 吗?
- 使用 push_back() 时指针指向 NULL 的向量
- 为什么类中的向量自动变为 NULL
- 对象向量中的空对象与指针向量中的NULL/nullptr
- 在std向量中查找NULL指针
- basic_string::_M_construct null 在构造字符串的子向量后无效
- 如何用NULL(c++)初始化对的向量
- 指针指向NULL向量
- 不能将NULL发送给获取向量的函数
- 在一个向量中找到NULL
- 与向量一起使用的C++可为Null/可选项的整数
- 检查在模板第一个参数之后声明的函数是否为 NULL(传递向量和数组)