GLFW/GLEW: Ошибка чтения, нарушение доступа (функция glfwPollEvents)C++

Программы на C++. Форум разработчиков
Anonymous
GLFW/GLEW: Ошибка чтения, нарушение доступа (функция glfwPollEvents)

Сообщение Anonymous »

В настоящее время я изучаю учебник по OpenGL, но столкнулся с проблемой.
Прежде чем рассказать вам более подробно, я хочу сказать вам, что я знаю, что код написан не очень хорошо, но это всего лишь учебник, чтобы узнать, как на самом деле добиться успеха с помощью OpenGL, а не учебник по написанию действительно хорошего кода. Надеюсь, вы понимаете.
Вот моя проблема: когда я запускаю программу, все работает хорошо, но через несколько секунд приложение вылетает. он возвращает код выхода -1073741819, и, преобразовав его в шестнадцатеричный формат, я обнаружил, что это код ошибки C0000005: переполнение буфера. Затем я решил отладить это, и отладчик сказал следующее:

Код: Выделить всё

"Exception thrown at 0x00007FFD28144921 (igxelpicd64.dll) in App.exe: 0xC0000005: Access violation writing location 0x0000025170620000."
Выходное изображение компилятора
Вот полный код:

Код: Выделить всё

#include 
#include 

#include 
#include 
#include 
#include 

struct ShaderProgramSource
{
std::string VertexSource;
std::string FragmentSource;
};

static ShaderProgramSource parseShader(const std::string& filepath)
{
std::ifstream stream(filepath);

enum class ShaderType
{
NONE = -1, VERTEX = 0, FRAGMENT = 1
};

std::string line;
std::stringstream ss[2];
ShaderType type = ShaderType::NONE;
while (getline(stream, line))
{
if (line.find("#shader") != std::string::npos)
{
if (line.find("vertex") != std::string::npos)
type = ShaderType::VERTEX;
else if (line.find("fragment") != std::string::npos)
type = ShaderType::FRAGMENT;
}
else
{
ss[(int)type] 

Подробнее здесь: [url]https://stackoverflow.com/questions/78759534/glfw-glew-error-reading-access-violation-glfwpollevents-fonction[/url]

Вернуться в «C++»