请问:以下代码为什么会报错

请问:一下代码为什么会报错


  vector<int>v(10, 9);
  vector<int>v1 = v;
  v1.push_back(8);
 for (vector<int>::size_type i = 0; i < v1.size(); i++)
 {
    cout << v[i] << endl;
 }

不会是下标越界吧,不过那不叫报错,叫异常


 vector<int>v(10, 9);
 v.push_back(8);
for (vector<int>::size_type i = 0; i != v.size(); i++)
{
   cout << v[i] << endl;
}
这个就会报错

谢谢你,找到问题的出处了