Ошибка вне диапазона при чтении из вектора - PullRequest
0 голосов
/ 24 апреля 2020

После чтения целых чисел из txt-файла и push_back их в вектор для разных txt-файлов (все одинаковой структуры) я не получаю правильный результат каждый раз.

1 Ответ

0 голосов
/ 24 апреля 2020

    else 
        int num_vertices = read_ints.at(0) + 1;
    int num_edges = read_ints.at(1);
    read_ints.erase(read_ints.begin(), read_ints.begin() + 2);

объявляет две локальные переменные с именами num_vertices и num_edges. Они отличаются от локальных переменных с тем же именем, объявленных ранее в main, поэтому значения, используемые на следующей итерации l oop, взяты из первого блока данных.

Обратите внимание, что I ' Мы также скорректировали отступ, чтобы показать, как операторы взаимодействуют с else. В этом случае это безвредно, потому что другая ветвь if является перерывом, но вы должны быть осторожны, чтобы не ошибиться в коде из-за вводящего в заблуждение отступа.

...