我是C ++的新手。我刚刚了解了STL中的向量。
但是,当我尝试向向量中输入整数时:
vector<int> v;
cin>>v[i]
程序返回分段错误。请帮帮我。
答案 0 :(得分:3)
您的向量中没有任何元素,因此内部数组为null。当您尝试向其中读取某些内容时,您试图引用空指针(导致段错误)。首先向向量添加元素:
vector<int> v(100); //Create vector with 100 elements
for(int i = 0; i < 100; i++) {
cin >> v[i];
}
或者,您可以将元素读入局部变量,然后将其添加到向量中:
vector<int> v;
for(int i = 0; i < 100; i++) {
int new_val;
cin >> new_val;
v.push_back(new_val);
}