【问题标题】:Access violation reading location using WndClass使用 WndClass 访问冲突读取位置
【发布时间】:2014-04-21 17:26:09
【问题描述】:

我有一个问题,使用以下代码:

BOOL RegisterApp(HINSTANCE hInst)
{
    WNDCLASS wc;

    wc.style         = CS_HREDRAW | CS_VREDRAW;
    wc.lpfnWndProc   = WndProc;
    wc.cbClsExtra    = 0;
    wc.cbWndExtra    = 0;
    wc.hInstance     = hInst;
    wc.hIcon         = LoadIcon(NULL, IDI_APPLICATION);
    wc.hCursor        = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground = (HBRUSH)GetStockObject(GRAY_BRUSH);
    wc.lpszClassName = szClassName;
    //

    //
    return RegisterClass(&wc);
}

当我尝试使用&wc 时,出现此错误:

Unhandled exception at 0x763adf81 in lab3.exe: 0xC0000005: Access violation reading location 0xcccccccc.

请帮帮我,我需要做什么?

【问题讨论】:

  • 你没有设置lpszMenuName。您应该将其设置为 NULL;
  • @JohnnyMopp 非常感谢!
  • 更好的是,始终初始化所有数据。结构可以在 C++ 中进行零初始化:WNDCLASS wc = { 0 };

标签: c++ windows winapi


【解决方案1】:

你还没有初始化 wc 的所有数据成员。

参考http://msdn.microsoft.com/en-us/library/windows/desktop/ms633576(v=vs.85).aspx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-04
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 2016-05-28
    • 2017-01-09
    • 2014-11-09
    相关资源
    最近更新 更多