PC-lint给了我以下错误:
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成员函数中。
答案 0 :(得分:0)
因为您正在使用标有const
的函数修改类成员。
自从您更新了帖子后,我们继续讨论有关您的不完整代码段的下一个问题:如何定义_sortedSelectedItems。