私はプログラムを作成し、vector.h #include、iteratorsなどを使用します。しかし、プログラムを実行すると、特定の状況下で(私はまだそれらが何であるか把握しようとしています)私はvector.hの98行目に私を参照しているアサーションエラーを取得します。私はvector.hの98行目に行って、これを得た:「ベクター」内のこのコードは何を意味していますか? (C++)
#if _HAS_ITERATOR_DEBUGGING
if (this->_Mycont == 0
|| _Myptr < ((_Myvec *)this->_Mycont)->_Myfirst
|| ((_Myvec *)this->_Mycont)->_Mylast <= _Myptr)
{
_DEBUG_ERROR("vector iterator not dereferencable");
_SCL_SECURE_OUT_OF_RANGE;
}
誰かがこの主張を引き起こしている私のプログラムではこれが何を意味し、何を教えていただけますか?
NB:ライン98は、記録のために、「_DEBUG_ERROR(」VECT ...」
NB始まるいずれかです。これは私がエラーを引き起こしたBELIEVE私のプログラムのコードですが、私は全くわからない、しかし
CODE:。
for(aI = antiviral_data.begin(); aI < antiviral_data.end();)
{
for(vI = viral_data.begin(); vI < viral_data.end();)
{
if((*aI)->x == (*vI)->x && (*aI)->y == (*vI)->y)
{
vI = viral_data.erase(vI);
aI = antiviral_data.erase(aI);
}
else
{
vI++;
}
}
if((*aI)->x >= maxx || (*aI)->x < 0 || (*aI)->y >= maxy || (*aI)->y < 0)
{
aI = antiviral_data.erase(aI);
}
else
{
aI++;
}
}
##を含めるだけで、vector.h、btwは含まれません。 –
GManNickG