2017-02-07 1 views
-1

Ich versuche, Newton Physik in einem kleinen Projekt, an dem ich arbeite, zu implementieren. Ich schrieb einen Parser, um es innerhalb von Half-Life 1 zu implementieren.C++ | Ausnahme wird ausgelöst ... Access violation reading location FEHLER

Wenn ich versuche, es in einer Karte zu verwenden, löst es einen Zugriffsverletzungsfehler aus. Seine Position ist 0xFFFFFFF0.

Als ich versuchte, Debug in Visual Studio 2015 zu verwenden, wies es mich hier an.

bmodels[ modelNum ] = NewtonCreateConvexHull(m_pWorld, numVerts, (float*)&verts[ 0 ][ 0 ], 12, NULL); 

So bin ich ratlos. Die vollständige Funktion finden Sie hier unter http://pastebin.com/W6NAs2hM.

Antwort

0

Basierend auf einem sehr schnellen Code und basierend auf dem Fehler, den Sie beschrieben haben, sieht es so aus, als ob Sie auf Ihr Array außerhalb der Grenzen zugreifen.

Sie beginnen Ihre erste for-Schleife mit einem Index von 1, dh modelNum = 1

for(int modelNum = 1; modelNum < m_iNumModels; modelNum++) 

und dann in der Linie

bmodels[ modelNum ] = NewtonCreateConvexHull(m_pWorld, numVerts, (float*)&verts[ 0 ][ 0 ], 12, NULL); 

Sie versuchen bmodels[1] zugreifen zu können, aber eigentlich sollte es sei bmodels[0], da 0 immer der erste Index eines Arrays ist.

Verwandte Themen