ПК-линт выдает мне следующую ошибку:
error 1561: (Warning -- Reference initialization causes loss of const/volatile integrity (arg. 'this'))
при обработке последней строки этого кода:
auto sortedIter = std::find( _sortedSelectedItems.begin(), _sortedSelectedItems.end(), i );
if ( sortedIter != _sortedSelectedItems.end() )
_sortedSelectedItems.erase(sortedIter); // here the lint issue appears
где _sortedSelectedItems
является std::vector<SmartPointer<DataItem>>
Есть идеи, почему появляется эта ошибка и как ее исправить?
редактировать
Этот код не находится внутри функции-члена const.
Потому что вы изменяете члена класса, пока вы находитесь в функции, отмеченной const
,
Поскольку вы обновили свое сообщение, мы переходим к следующему вопросу о вашем неполном фрагменте: как определяется _sortedSelectedItems.