004
08.03.2006, 08:57 Uhr
Krevetten
|
Ich suche bereits seid Wochen danach. Ich wundere mich wirklich, was das sein könnte, da der Fehler ja nicht mehr auftritt, wenn ich die Zeile
C++: |
fin.read((char*)_map, sizeof(short int) * _hSize * _vSize);
|
auskommentiere. Und weil _map bereits initialisiert und mit Werten (in diesem Fall 0) gefüllt ist, dürfte das eigentlich nicht das Problem sein. Auch wenn ich eine Datei einlese, die ebnfalls nur Nullen enthält oder auf _map gar nicht zugreife, kommt es später zu diesem Fehler. Kann es sein, das ifstream::read den Speicher in einem anderen bereich meines Programms durch- einanderbringt. Mit dem Debugger habe ich herausgefunden, dass der Fehler diesmal bei der Zeile
auftritt, wobei _sprites mit NULL initialisiert worden ist (und vom Typ std::map<std::string, LPD3DXSPRITE>*). Im gesammten Programm wird bis zur oben erwähnten Zeile nicht mehr auf _sprites zugegriffen. Und wie gesagt haben _map und _sprites überhaupt keine verbindung zueinander. Könnte es sein, dass ifstream::read bei mir fahlerhaft ist. Ich benutze einen Borland-Compiler. Vieleicht ist das wieder eine seiner Besonderheiten. |