Как устранить ошибку lint & quot; Инициализация эталона приводит к потере постоянной / изменчивой целостности & quot;

ПК-линт выдает мне следующую ошибку:

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.

1

Решение

Потому что вы изменяете члена класса, пока вы находитесь в функции, отмеченной const,

Поскольку вы обновили свое сообщение, мы переходим к следующему вопросу о вашем неполном фрагменте: как определяется _sortedSelectedItems.

0

Другие решения


По вопросам рекламы [email protected]