Как исправить ошибку std::out_of_range

128
07 июня 2019, 03:00

Перевожу string в int. Все работает, но затем кидает ошибку

terminate called after throwing an instance of 'std::out_of_range' what(): basic_string::substr: __pos (which is 6) > this->size() (which is 0)

Вот мой код :

           string temp;
           int t=0;
           for(int i=0;i<10;i++){
             temp=myArray[2][i].substr(6,4);
              t=atoi(temp.c_str());
            int g = 2018-t;
             if(g>62){
             cout<<myArray[0][i]<<" "<<myArray[1][i]<<" "<<myArray[2][i]<<" "<<myArray[3][i]<<" "<<myArray[4][i]<<endl;
               }
           }

У меня есть предположения, что выдает из-за того, что некоторые ячейки двухмерного массива пустые, но я не уверен.

READ ALSO
Удаление из строки всего, кроме цифр

Удаление из строки всего, кроме цифр

Проблема в том, что в консоли ничего не выводится(Не уверен что сделал правильно)

110
Перегруженный оператор ==

Перегруженный оператор ==

Не получается использовать перегруженный оператор ==

109
WC_LINK центрирование текста по вертикали

WC_LINK центрирование текста по вертикали

Каким образом можно выровнять по вертикали контент окна с классом WC_LINK? Флаг SS_CENTER не помогает

139
Clion+MinGW+SDL2+CMake

Clion+MinGW+SDL2+CMake

Пожалуйста помогите исправить ошибку

97