Следующий фрагмент кода выдает сообщение об ошибке во время выполнения из:Vector итератора не разыменовываемое при смене итератора comparisson
Debug утверждения не удалось: Vector итератора не разыменовываемое
for(it=stat1vec.begin(); *(it)>=investigated_stat; it++, positioner++)
{
if(*it==investigated_stat)
equalwith++;
}
Когда изменено:
for(it=stat1vec.begin(); *(it)==investigated_stat; it++, positioner++)
{
if(*it==investigated_stat)
equalwith++;
}
Код работает отлично.
Все было сделано, чтобы изменить> = == к
Почему это?
Большое спасибо
'=' это задание, я думаю, что вы имели в виду использовать '== ', правильно? Кроме того, лучше использовать '++ it', чем' it ++' на итераторах, чтобы избежать создания временного объекта. – hochl
@hochl оптимизатор, скорее всего, исключает временное, независимо от оператора. –
Приятно привыкать. –