我对这些错误很陌生,如果这个问题有点具体,请道歉。这是错误的调用堆栈,我发布它的原因是因为我看这些东西比较新。我真的不知道错误意味着什么,但通过查看调用,在我看来,我需要知道它是什么意思,当它说:: _ Destroy,因为我在程序启动时得到这个错误,什么都不应该是在这一点上被摧毁(我猜我可能会对这里的很多事情感到困惑)
我还注意到(我认为)正在调用Brain和Agent的析构函数。当程序启动时,不应该调用它的析构函数。事实上这是怎么回事?当程序失败时,析构函数会被调用吗?或者他们是否按计划被召唤,这就是问题所在?
我读到错误与被覆盖的内存有关?我需要寻找什么样的事情才能找到原因?
如果需要更多信息,请告诉我。
> msvcr100d.dll!operator delete(void * pUserData) Line 52 + 0x51 bytes C++
D3D10DEMO.exe!Gun::`scalar deleting destructor'() + 0x3c bytes C++
D3D10DEMO.exe!Brain::~Brain() Line 79 + 0x3c bytes C++
D3D10DEMO.exe!Agent::~Agent() + 0x2b bytes C++
D3D10DEMO.exe!Agent::`scalar deleting destructor'() + 0x2b bytes C++
D3D10DEMO.exe!std::_Destroy<Agent>(Agent * _Ptr) Line 64 C++
D3D10DEMO.exe!std::allocator<Agent>::destroy(Agent * _Ptr) Line 213 + 0x9 bytes C++
D3D10DEMO.exe!std::_Dest_val<std::allocator<Agent>,Agent>(std::allocator<Agent> & _Alval, Agent * _Pdest) Line 288 C++
D3D10DEMO.exe!std::_Destroy_range<std::allocator<Agent> >(Agent * _First, Agent * _Last, std::allocator<Agent> & _Al, std::_Nonscalar_ptr_iterator_tag __formal) Line 97 + 0xd bytes C++
D3D10DEMO.exe!std::_Destroy_range<std::allocator<Agent> >(Agent * _First, Agent * _Last, std::allocator<Agent> & _Al) Line 88 + 0x2f bytes C++
D3D10DEMO.exe!std::vector<Agent,std::allocator<Agent> >::_Destroy(Agent * _First, Agent * _Last) Line 1270 + 0x14 bytes C++
D3D10DEMO.exe!std::vector<Agent,std::allocator<Agent> >::reserve(unsigned int _Count) Line 765 C++
D3D10DEMO.exe!std::vector<Agent,std::allocator<Agent> >::_Reserve(unsigned int _Count) Line 1298 C++
D3D10DEMO.exe!std::vector<Agent,std::allocator<Agent> >::push_back(Agent && _Val) Line 647 C++
D3D10DEMO.exe!Initialise(HWND__ * hWnd) Line 38 + 0xbe bytes C++
D3D10DEMO.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * lpCmdLine, int nCmdShow) Line 47 + 0x9 bytes C++
D3D10DEMO.exe!__tmainCRTStartup() Line 547 + 0x2c bytes C
D3D10DEMO.exe!WinMainCRTStartup() Line 371 C