繁体   English   中英

C++ | 抛出异常...访问冲突读取位置错误

[英]C++ | Exception thrown...Access violation reading location ERROR

我正在尝试在我正在进行的一个小项目中实施牛顿物理学。 我写了一个解析器来在半条命 1 中实现它。

当我尝试在地图中使用它时,它会引发访问冲突错误。 它的位置是 0xFFFFFFF0。

当我尝试在 Visual Studio 2015 中使用 Debug 时,它指向我这里。

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

所以我不知所措。 完整功能可以在http://pastebin.com/W6NAs2hM上找到。

基于对您的代码的快速了解并根据您描述的错误,您似乎正在越界访问您的数组。

您以 1 的索引开始初始 for 循环,即 modelNum = 1

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

然后在行中

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

您尝试访问bmodels[1] ,但实际上它应该是bmodels[0]因为 0 始终是数组的第一个索引。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM