小编be-*_*rty的帖子

带有小数组的 delete[] 上的 SIGTRAP

我的 C++ OpenGL 程序中出现了一个奇怪的 SIGTRAP 错误。首先,使用 new[] 运算符创建一个浮点数组,如下所示:

std::vector<ObjFace> faces = readObjFile("sphere.obj");
vertexBufferSize = faces.size() * 24;
auto* vertexBuffer = new GLfloat[vertexBufferSize];
Run Code Online (Sandbox Code Playgroud)

然后,数组被填充如下:

    for (int i{ 0 }; i < faces.size(); ++i) {
        for (int j{ 0 }; j < 4; ++j) {
            vertexBuffer[i*24 + j*8] = faces[i].corners[j][0];
            vertexBuffer[i*24 + j*8 + 1] = faces[i].corners[j][1];
            vertexBuffer[i*24 + j*8 + 2] = faces[i].corners[j][2];
            vertexBuffer[i*24 + j*8 + 3] = 1.0f;
            vertexBuffer[i*24 + j*8 + 4] = (faces[i].normals[j][0] + 1) / 2; …
Run Code Online (Sandbox Code Playgroud)

c++

4
推荐指数
1
解决办法
513
查看次数

标签 统计

c++ ×1