Я делаю программу с C++, и когда я пытаюсь перечислить свои векторные элементы, она всегда отображает последний элемент.Итератор всегда удаляет последний элемент
Вот мой код:
typedef string Tab[1][1];
struct Node
{
Tab t1;
};
и вот как я перечисляю мои элементы:
std::vector<Node*>::iterator itr;
for(itr = Tab_dynamique.begin(); itr != Tab_dynamique.end(); *itr++)
{
cout << (*itr)->t1[0][0] << " | " << (*itr)->t1[0][1]<< endl;
}
Может кто-нибудь сказать мне, почему это всегда показывает последний элемент вектора?
try 'itr ++' (без разыменования) – Pavel
Можете ли вы дать [минимальный образец воспроизводит это поведение] (http://stackoverflow.com/help/mcve), пожалуйста? –
Насколько я вижу, это всегда должно показывать первый элемент. И всегда означает, что вы получаете бесконечный цикл, выполняя * itr ++. –