перебрать 2D вектор, разыменование? - PullRequest
0 голосов
/ 06 октября 2018

Я пытаюсь инициализировать два итератора, два моих 2D-вектора, один для строк и один для столбцов.Я сделал это следующим образом:

vector<vector<int> > v;
    vector<vector<int> >::iterator r;
    vector<int>::iterator c;

    r = v.begin();
    c = r->begin();

, и я получаю следующее всплывающее окно, когда я запускаю код: Ошибка отладки!Выражение: не может разыменовать значение инициализированного векторного итератора.

Есть некоторые проблемы с этим утверждением:

c = r->begin();

Но не могу понять, почему?

Спасибо

1 Ответ

0 голосов
/ 07 октября 2018

v пусто, поэтому r не указывает на действительный экземпляр vector<int> (нет экземпляра для указания).Вы по существу разыменовываете v.end(), после чего ваша программа демонстрирует неопределенное поведение.

...