使用push_back时如何修复'libc ++ abi.dylib:以类型为std :: out_of_range:vector的未捕获异常终止

时间:2019-07-11 05:45:31

标签: c++ vector outofrangeexception

我试图通过使用while函数将信息存储在没有初始化大小的向量中。当我尝试通过将结果从excel文件复制并粘贴到程序中来尝试将大量信息(excel程序的列表)存储到函数时,会出现问题。下面显示的不是完整的代码,而是一部分。

我试图删除if陈述,但没有任何改变。

#include <vector>
#include <iostream>
#include<math.h>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{

    long double ThetaX;// Declear ThetaX.
    long double ThetaZ;// Declear ThetaZ.
    long long int i;
    long long int j;

    vector<long double> Date1; //Dates1 declear.
    vector<long double> Eng1; //  Eng of list 1 decleared.

    cout<<"Enter the Dates of the first list:  \n"; //Entring the first list date
    while( cin>> i) {
        Date1.push_back(i);

       if (i == 9898) {
            break;
        }


    }

我只希望向量存储我从excel传输的信息,直到我键入一些代码(在本例中为9898)。但是当我输入大量信息(例如100个元素)时,会出现以下错误; “ libc ++ abi.dylib:终止于类型为std :: out_of_range:vector的未捕获异常”

0 个答案:

没有答案