繁体   English   中英

为什么我不能在C ++中输入我的std :: vector

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM