gpt4 book ai didi

c++ - 遇到一个简单的段错误。 C++

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:05:20 24 4
gpt4 key购买 nike

有人可以解释一下为什么这会给我一个段错误吗?

#include <vector>
#include <iostream>

using namespace std;

vector <double>freqnote;

int main(){

freqnote[0] = 16.35;

cout << freqnote[0];

return 0;
}

我的代码中还有其他 vector ,这是唯一给我带来麻烦的 vector 。

我改成了vector<int>freqnote;并将值更改为 16,但我仍然遇到段错误。这是怎么回事?

我有其他 vector 整数,它们给我正确的结果。

最佳答案

替换

freqnote[0] = 16.35;

freqnote.push_back(16.35);

你会没事的。

错误是由于该索引超出范围。在您通过 [0] 访问第一个元素时, vector 的容量可能为 0。另一方面,push_back() 将扩展 vector 的容量容量(如有必要)。

关于c++ - 遇到一个简单的段错误。 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3599588/

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