我堅持簡單的矢量輸入和輸出操作。編譯器返回錯誤說「的std :: outof範圍」矢量<int>輸入和輸出
下面是代碼
int main()
{
int size;
cout <<"Enter size of vector\n";
cin>>size;
cout<<"Now to input the vector of size "<<size<<endl;
vector <int> trial;
for (size_t i=0;i<size;++i){
int x;
cout<<"write at position"<<trial.at(i)<<'t';
cin>>x;
trial.push_back(x);
cout<<endl;
}
ostream_iterator<int> output(cout,"");
copy(trial.begin(),trial.end(),output);
}
我希望這個問題的內部工作的簡要說明。
我只是試圖寫入矢量,我應該首先在位置[0]初始化它,然後使用cin來填充它? – 2012-03-04 15:54:33
@AlterEgo爲什麼當你還沒有插入它時,你試圖讀取矢量的第i個元素? – 2012-03-04 15:56:53
@AlterEgo只是把'cin >> x; trial.push_back(x);'在訪問元素之前。 – 2012-03-04 15:57:22