Необычная ошибка выполнения std :: map
Я работаю над редактором для игры, над которой я работаю, и, как часть этого редактора, мне, очевидно, нужно иметь текстуры. Я создал переменную std :: map так,
std::map<std::string, unsigned int> textures;
В моем коде загрузки изображений у меня есть следующий фрагмент.
unsigned int id;
glGenTextures(1, &id);
glBindTexture(GL_TEXTURE_2D, id);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, imageWidth, imageHeight, 0, GL_RGB, GL_UNSIGNED_BYTE, imageData);
glBindTexture(GL_TEXTURE_2D, 0);
textures[filename] = id;
Теперь по какой-то причине я получаю ошибку во время выполнения после попытки использовать приведенный выше код. Ошибка нарушения доступа, которая при отладке указывает на сам код std :: map, а именно на эту часть:
_Nodeptr _Lbound(const key_type& _Keyval) const
{ // find leftmost node not less than _Keyval
_Nodeptr _Pnode = _Root(); // ** this is the highlighted line **
_Nodeptr _Wherenode = _Myhead; // end() if search fails
while (!_Isnil(_Pnode))
if (_DEBUG_LT_PRED(this->comp, _Key(_Pnode), _Keyval))
_Pnode = _Right(_Pnode); // descend right subtree
else
{ // _Pnode not less than _Keyval, remember it
_Wherenode = _Pnode;
_Pnode = _Left(_Pnode); // descend left subtree
}
return (_Wherenode); // return best remembered candidate
}
Я только один раз вызываю функцию загрузки изображений, чтобы протестировать систему. Я проверил переменные, и переменные имени файла и идентификатора верны. Любые идеи относительно того, что может быть причиной сбоя во время выполнения?