gpt4 book ai didi

c++ - Visual Studio 我认为堆错误

转载 作者:行者123 更新时间:2023-11-28 08:23:40 26 4
gpt4 key购买 nike

我正在使用 C++ 和 WinApi32 进行项目。共有3个类(class),每个类(class)约150人行代码。

在我的主窗口中,下面的代码会频繁运行:

wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.hbrBackground = CreateSolidBrush(BkColor);
wc.hCursor = LoadCursor(NULL,IDC_HAND);
wc.hIcon = NULL;
wc.hInstance = hInstance;
vertex_hInstance = hInstance;
wc.lpfnWndProc = VertexProc;
wc.lpszClassName = Vertex_Class;
wc.lpszMenuName=NULL;
wc.style = CS_HREDRAW|CS_VREDRAW;
RegisterClass(&wc);
hWnd = CreateWindow(Vertex_Class,L"",WS_CHILD|WS_BORDER,getx(),gety(),getw(),geth(),parent_HWND,NULL,hInstance,0);

它在我早先定义的类的函数中。运行程序:没有错误,一切正常。关闭程序:给我错误:Windows 已触发断点,查看图片: Visit Error

最佳答案

您显示的代码不足以说明导致您描述的问题的原因。

但是,您不应该多次注册同一个窗口类。

我不知道“经常”注册同一个窗口类的效果,因为它不是人们所做的事情(所以我没有这方面的经验),但可以想象它可能是吞噬资源,这反过来可能会产生非常不利的影响……

通常的解决方案是仅在第一次或在创建该类的任何窗口之前注册一个窗口类。

例如您可以使用单例来实现这一点。

干杯,

关于c++ - Visual Studio 我认为堆错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4889374/

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