gpt4 book ai didi

c++ - 使用 C++、SDL、OpenGL 和 GLEW 时出现无法解释的内存错误

转载 作者:行者123 更新时间:2023-11-30 01:14:59 25 4
gpt4 key购买 nike

这是我的整个应用程序(精简到要点):

#include <stdio.h>
#include <GL/glew.h>
#include <SDL.h>
#include <SDL_opengl.h>
#include <gl/glu.h>

int main( int argc, char* args[] )
{
SDL_Init(SDL_INIT_VIDEO);
SDL_Window* gWindow = SDL_CreateWindow( "title", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN );
SDL_GLContext gContext = SDL_GL_CreateContext( gWindow );
glewInit();

GLfloat *floatArray = new GLfloat(108);
floatArray[107] = 0.0f;

GLuint glBuffer;
glGenBuffers(1, &glBuffer);

return 0;
}

这个和所需的库都是在 Visual Studio 2012 中编译的。

此代码以正确的顺序初始化 OpenGL 上下文所需的所有系统,据我所知没有遗漏任何内容(仅在它中断后才需要清理,所以我将其删除)。

它在 glGenBuffers(1, &glBuffer); 行中断,错误为“SOFT323_vs11_2012.exe 已触发断点。”

设置超出 floatArray[9] 的元素需要打破它。

我该如何解决这个问题?是其中一个库出现故障还是我使用不当?

最佳答案

这会分配一个 GLfloat,用值 108.0f 初始化。

GLfloat *floatArray = new GLfloat(108);

您想分配一个数组:

GLfloat *floatArray = new GLfloat[108];

关于c++ - 使用 C++、SDL、OpenGL 和 GLEW 时出现无法解释的内存错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29265936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com