• Advertisement
Sign in to follow this  

LRESULT (*)(HWND__*, UINT, WPARAM, LPARAM)'

This topic is 4518 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I was following a tutorial on the Internet. I'm trying to make a window and set the callback function that handles the messages. Here's the error: Argument of type `(Plasma::CApplication::)(HWND__*, UINT, WPARAM, LPARAM)' does not match `(*)(HWND__*, UINT, WPARAM, LPARAM)' Here's the problemed code:
namespace Plasma
{
  class CApplication
  {
    ...
    bool CApplication::CreateDisplay( ... )
    {
      WNDCLASSEX wcex;
      ...
      wcex.lpfnWndProc = (WNDPROC)CApplication::StaticWndProc;
      ...
    }
    ...

    // I don't really understand why there is a StaticWndProc and a WndProc
    LRESULT CALLBACK CApplication::StaticWndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
    {
      ...
    }

    // Here is WndProc. They both take the same arguements
    LRESULT CALLBACK CApplication::WndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
    {
      ...
    }

  }; // End Class CApplication
}  // Close Namespace Plamsa
This is the only roadblock error that I'm getting. And I have no idea what's causing it.

Share this post


Link to post
Share on other sites
Advertisement
You can't assign a member function to a standard function pointer. You probably left off the static for your StaticWndProc() function definiton.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement