Sign in to follow this  
RidiculousX

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

Recommended Posts

RidiculousX    140
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
SiCrane    11839
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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this