vector :: _ M_range_check: __n (который равен 1)> = this-> size () (который равен 1) - PullRequest
0 голосов
/ 29 марта 2020

Я застрял в oop с вектором. Любые комментарии будут оценены! Ниже показан мой код. здесь я показываю только 2 вектора, каждый с одним элементом, чтобы объяснить мой вопрос. если мне нужно, например, 8 векторов (каждый вектор имеет 10 элементов), как я должен сделать, чтобы избежать переполнения. Большое спасибо!

Ошибка:

"завершается вызовом после создания экземпляра 'std :: out_of_range' what (): vector :: _ M_range_check: __n (который является 1)> = this-> size () (то есть 1) Прервано (сброшено ядро)

основной код:


    const int dR(1),effm(1);
    std::vector<double>  DR_l1j({0});
    std::vector<double>  M_eff({200});


    void Loop()
    {
        //main loop
        for (Long64_t jentry=0; jentry<10000;jentry++)
        {

                //loop
                for(int i = 0; i < dR; i++){
                        if(dRl1j > DR_l1j.at(i)){
                                for(int j = 0; j < effm ; j++){
                                        if(meff > M_eff.at(j)*1000){
                                          (some calculation)      ;
             }
           }
         }                                                                                               
        int main()
         {loop();return 0;}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...