none
请教关于WNDCLASSEX结构体填充的问题 RRS feed

  • 问题

  • 我自己封装了一个创建win32窗体的的类,但是为什么要把WNDCLASSEX结构体中的lpfnWndProc成员指的函数定义为静态成员函数呢?

    static LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);

    如果不加static的话就会出现下面错误,这是什么原因呢?

    error C2440: “类型转换”: 无法从“overloaded-function”转换为“WNDPROC”

    2010年4月13日 15:19

答案

  • 因为非静态函数多一个隐藏的this参数。

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    • 已标记为答案 谐音 2010年4月17日 14:22
    2010年4月13日 23:28
    版主

全部回复

  • 因为非静态函数多一个隐藏的this参数。

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    • 已标记为答案 谐音 2010年4月17日 14:22
    2010年4月13日 23:28
    版主
  • 我还不是很理解,谢谢版主!

    2010年4月17日 14:21