Ungewöhnlicher std :: map-Laufzeitfehler

Ich hacke einen Editor für ein Spiel, an dem ich arbeite, und als Teil dieses Editors muss ich natürlich Texturen haben. Ich habe eine std :: map Variable erstellt,

std::map<std::string, unsigned int> textures;

In meinem Bildlade-Code habe ich den folgenden Ausschnitt.

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;

Aus irgendeinem Grund erhalte ich einen Laufzeitfehler, nachdem ich versucht habe, den obigen Code zu verwenden. Ein Zugriffsverletzungsfehler, der mich beim Debuggen auf den std :: map-Code selbst verweist, insbesondere auf diesen Teil:

_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
    }

Ich rufe nur einmal meine Bildladefunktion auf, um das System zu testen. Ich habe die Variablen überprüft und sowohl die Dateinamen- als auch die ID-Variablen sind korrekt. Irgendwelche Ideen, was den Laufzeitabsturz verursachen könnte?

Antworten auf die Frage(0)

Ihre Antwort auf die Frage