gpt4 book ai didi

c++ - 堆栈推送导致严重错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:57:38 26 4
gpt4 key购买 nike

我是 C++ 的新手,目前正在使用 STL 容器。我在执行 nodeStack.push(startnode) 时遇到严重问题 - 编译器显示了一个

Critical error detected c0000374

以下代码显示了发生上述错误的函数:

vector<int> Graph::iterativeDepthSearch(map<int, vector<int>> adjlist, int startnode) {
stack<int> nodeStack;
vector<int> visitList;

// Knotenbesuchsliste initialisieren
int* val = new int(adjlist.size());
for (int i = 0; i < (int) adjlist.size(); i++) {
val[i] = 0;
}

int cnt = 1;
nodeStack.push(startnode);
....
}

错误发生在nodeStack.push(startnode);行,startnode初始化为0。

最佳答案

试试 int* val = new int[adjlist.size()]; 你目前正在分配一个 int 并初始化它的值,而不是分配一个 int 数组。

堆栈结构正在损坏,因为它在内存堆栈中紧挨着您的指针。

关于c++ - 堆栈推送导致严重错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6377544/

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