J'ai créé un programme, et il utilise le vecteur.h #include, et les itérateurs, etc ... Mais quand je lance le programme, dans certaines circonstances (j'essaie toujours de comprendre ce que seraient ces) Je reçois une erreur d'assertion qui me renvoie à la ligne 98 de vector.h. Je suis allé à la ligne 98 de vector.h et a obtenu ceci:Que signifie ce code dans "vector"? (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;
}
Quelqu'un peut me dire s'il vous plaît ce que cela signifie et ce que mon programme est à l'origine de cette affirmation?
NB: Ligne 98, pour l'enregistrement, est celui qui commence « _DEBUG_ERROR (» vect ... »
NB: Voici le code dans mon programme que je CROIS déclenché l'erreur, je suis pas tout à fait sûr, bien que
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++;
}
}
Il devrait être juste #include, pas vector.h, btw. –
GManNickG