
int main() {
DisplayManager mDisplayMgr;
mDisplayMgr.createDisplay();
while (!mDisplayMgr.isRequestColsed())
{
mDisplayMgr.updateDisplay();
}
return 0;
}
运行到while判断的时候调用这个成员函数

bool DisplayManager::isRequestColsed()
{
return mDisplay.isRequestClosed();
}
再调用

bool Display::isRequestClosed()
{
if (glfwWindowShouldClose(mWindow))
{
this->destory();
return true;
}
return false;
}
运行到if判断 执行glfwWindowShouldColse(mWinodw)出现问题 如下是错误详情
0x007D0CC2 处(位于 Project1.exe 中)引发的异常: 0xC0000005: 读取位置 0x00000018 时发生访问冲突。
以下是类Display的申明

class Display
{
private:
DisplayMode mDisplayMode;
const char* title;
struct GLFWwindow* mWindow;
public:
Display() :title(""), mWindow(nullptr){}
void create(ContexAttri attr);
void update();
void destory();
bool isRequestClosed();
void setDisplayMode(DisplayMode mode);
void setTitle(const char* _title);
static void frameBufferSizeCallback(GLFWwindow*, int, int);
private:
void processEvent();
};
DisplayManager的声明

class DisplayManager
{
private:
Display mDisplay;
public:
DisplayManager(){}
void createDisplay();
void updateDisplay();
void closeDisplay();
bool isRequestColsed();
};
求助 真的是不知道哪里能出问题