gpt4 book ai didi

c++ - C++ 将项目添加到 vector 中的段错误

转载 作者:行者123 更新时间:2023-12-02 18:12:33 24 4
gpt4 key购买 nike

最近我开始学习 C++,在从事一个更大的项目时,我尝试使用“vector ”。但每次我尝试向它传递一个值时,它都会因段错误而退出。

这是我的终端输出:

#include <iostream>
#include <vector>
using namespace std;
int main(){
vector<int> test;
cout << "hello world" << endl;
test[0] = 0;
return 0;
}
me@my-MacBook-Pro Desktop % g++ test.cpp -o o && ./o
hello world
zsh: segmentation fault ./o
#include <iostream>
#include <vector>
using namespace std;
int main(){
vector<int> test;
cout << "hello world" << endl;
//test[0] = 0;
return 0;
}
me@my-MacBook-Pro Desktop % g++ test.cpp -o o && ./o
hello world
me@my-MacBook-Pro Desktop %

最佳答案

段错误是由于越界访问造成的。您需要在 ctor 中设置大小

vector<int> test(1);

或push_back:

vector<int> test;
test.push_back(0);

关于c++ - C++ 将项目添加到 vector 中的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72077314/

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