警告#12367 when running Build | Build Solution for Intel Static Analysis
が表示されますが、コードの問題がわかりません。アイデアはありますか?
警告 #12367: 呼び出し "std::_Vector_iterator > > std::vector >::erase(std::_Vector_const_iterator > >)" で実引数 2 として渡されたオブジェクトのスライスは、暗黙的な型変換が原因で発生します
pragma warning(suppress: 4995)
#include <vector>
class __declspec(dllexport) MxPluginLib //nothing special here, not derived class etc
{
public:
// ...
private:
// ... nothing special here
};
class __declspec(dllexport) MxPluginManager
{
public:
//...
private:
#pragma warning(suppress: 4251)
std::vector<MxPluginLib *> _Libs;
};
bool MxPluginManager::DeleteNextUnselected()
{
bool erased = false;
size_t cnt = _Libs.size();
if (cnt > 0 )
{
for (size_t x = 0; x < cnt; x++)
{
if (_Libs[x]->GetSelection() == false)
{
delete _Libs[x];
_Libs[x] = '\0';
_Libs.erase(_Libs.begin()+x); //THIS IS WHERE THE WARNING IS GENERATED
erased = true;
break;
}
}
}
return erased;
}