gpt4 book ai didi

c++ - 读取内存访问异常, "0xFEEFEE{value=???}"

转载 作者:行者123 更新时间:2023-11-30 02:02:10 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
In Visual Studio C++, what are the memory allocation representations?

对不起标题,但我真的不知道我如何处理这个“值=???”

得到一个带有 treeIterator 的简单二叉树。迭代器可以通过++ 或 -- 上下移动

它包含一个值和一个键,还有根节点、左节点、右节点。

如果我在树上启动一个迭代器

for (Map::TreeIterator i=tree.begin(); i != tree.end(); i++) {
std::cout << i.key() << ": " << i.value() << std::endl;
}

迭代器调用 begin()

TreeIterator Tree::begin() {
return TreeIterator(m_root->findFirst());
}

调用 findFirst()

TreeNode* TreeNode::findFirst() {
if (m_left != NULL) {
return m_left->findFirst();
} else {
return this;
}
}

如果树包含很多值,就可以了。现在我清除树,打印出计数并尝试启动迭代器以查看是否有项目显示它们,无论如何......

尝试调试显示迭代器进入可能为空的树并查找元素。他从树中得到根节点,这是一个零节点,取左边的节点(也是零节点)并在左边的节点上运行 findFirst。

到这里,根节点(零节点)的左节点(零节点)没有左节点。

m_left=??? m_right=??? m_up=???

所以我有默认构造函数,它将所有节点设置为零节点(我需要这个吗?它总是默认构造函数,对吧?)

最后,我的问题是我该如何处理这个问题?也许捕获异常?整个事情在内存 xxx 处抛出一个未处理的异常

感谢解答

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