Quote:
> Astroids.exe!SmartVector<Sprite *>::Remove(const unsigned int & index=) Line 53 + 0x11 bytes C++
Astroids.exe!SpriteMgr::Remove(const unsigned int & index=) Line 64 + 0x17 bytes C++
Astroids.exe!LaserMgr::CheckHits() Line 63 C++
Astroids.exe!LaserMgr::Update(float fTimeDelta=0.019000001) Line 115 C++
Astroids.exe!AstroidsApp::Update(const float fTimeDelta=0.019000001) Line 163 C++
Astroids.exe!D3DApp::EnterMsgLoop() Line 303 + 0x16 bytes C++
Astroids.exe!WinMain(HINSTANCE__ * hInstance=0x00400000, HINSTANCE__ * prevInstance=0x00000000, char * cmdLine=0x00151f14, int showCmd=1) Line 119 C++
Astroids.exe!__tmainCRTStartup() Line 589 + 0x35 bytes C
Astroids.exe!WinMainCRTStartup() Line 414 C
Check out index's value in Remove(). It's garbage right there and should not be. Index is just an integer that is actually the j variable in the LaserMgr::CheckHits() nested loop. Very strange. I've highlighted the important portions that I believe are bailing.