![](/img/trans.png)
[英]Why can't a string literal initializer list for a std::vector create a std::vector<std::string> in C++?
[英]Why I can't input into my std::vector in C++
我是C ++的新手。 我刚学会了STL中的vector。
但是,当我试图在我的向量中输入一个整数时:
vector<int> v;
cin>>v[i]
程序返回分段错误。 请帮帮我。
您的向量中没有任何元素,因此内部数组为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);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.