gpt4 book ai didi

c++ - 将 vector 初始化添加到结构构造函数

转载 作者:太空狗 更新时间:2023-10-29 20:43:48 26 4
gpt4 key购买 nike

我有一个结构如下:

struct octNode{
octNode* parent;
octNode* child[8];
std::vector<int> pointIndex;
//constructor of the struct
octNode()
{
memset(parent,0,sizeof(parent));
memset(child,0,sizeof(child));
}
};

但这会引发运行时错误:0xC0000005:访问冲突写入位置 0xcdcdcdcd。Octree_octnode_0113.exe 中 0x771115de 的未处理异常:0xC0000005:访问冲突写入位置 0xcdcdcdcd。

访问冲突发生在创建空 vector 时。有没有一种方法可以在构造函数中初始化 vector ,从而不会发生错误?

最佳答案

在下面

  memset(parent,0,sizeof(parent));

您正在将未初始化的指针传递给 memset()。你是不是想说:

  memset(&parent, 0, sizeof(parent));

或者,很简单

  parent = NULL; // or nullptr

?

关于c++ - 将 vector 初始化添加到结构构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14505294/

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