Я пытаюсь отладить мое приложение, и я постоянно получаю эту ошибку, и я не знаю, как ее исправить. Во время отладки я обнаружил, что местом ошибки является функция parseObjects. Он также вызывает создать функцию из игрового объекта завода, который, как следует ...Исключение брошено на 0x00007FF746DA221B SDL_game.exe: 0xC0000005: Место для обнаружения нарушения доступа 0xFFFFFFFFFFFFFF
GameObject* GameObjectFactory::create(std::string typeID) { std::map<std::string, BaseCreator*>::iterator it = m_creators.find(typeID);
if (it == m_creators.end())
{
std::cout << "could not find type: " << typeID << "\n";
return 0;
}
BaseCreator* pCreator = (*it).second;
return pCreator->createGameObject();}
После этого он вызывает Создатель объектов функции загрузки, которая успешно загружает параметры, но когда он пытается переместите объект обратно в вектор, который получит указанную выше ошибку.
Исключение, выброшенное на 0x00007FF746DA221B SDL_game.exe: 0xC0000005: Место обнаружения нарушения доступа 0xFFFFFFFFFFFFFFFF.
...
e->Attribute("x", &x);
e->Attribute("y", &y);
e->Attribute("width", &width);
e->Attribute("height", &height);
e->Attribute("numFrames", &numFrames);
e->Attribute("callbackID", &callbackID);
e->Attribute("animSpeed", &animSpeed);
type = e->Attribute("type");
textureID = e->Attribute("textureID");
GameObject* pGameObject = TheGameObjectFactory::Instance()->create(type);
pGameObject->load(new LoaderParams(x, y, width, height, textureID, numFrames, callbackID, animSpeed));
pObjects->push_back(pGameObject); // fails on this line ???
}`
отладчик переходит к этой линии в векторе ... bool _Inside(const value_type *_Ptr) const { // test if _Ptr points inside vector return (_Ptr < this->_Mylast() && this->_Myfirst() <= _Ptr); }
будут оценены Любая помощь и предложения ...