私はこのようなクラスを持っています
class Keyboard
{
public:
Keyboard(void);
~Keyboard(void);
void SetHook(HINSTANCE hInstance);
LRESULT CALLBACK keyboardHookProc(int nCode, WPARAM wParam, LPARAM lParam);
};
LRESULT CALLBACK Keyboard::keyboardHookProc(int nCode, WPARAM wParam, LPARAM lParam)
{
bool bControlKeyDown=0;
bool caps = GetKeyState(VK_CAPITAL) < 0;
...
void Keyboard::SetHook(HINSTANCE hInstance)
{
KeyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, Keyboard::keyboardHookProc, hInstance, NULL);
}
しかし、声明
KeyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, Keyboard::keyboardHookProc, hInstance, NULL);
コンパイルエラーが発生します
Error 7 error C3867: 'Keyboard::keyboardHookProc': function call missing argument list; use '&Keyboard::keyboardHookProc' to create a pointer to member
'&Keyboard ::keyboardHookProc'に変更するとエラーも発生します。'(HOOKPROC)&Keyboard::keyboardHookProc'にキャストするとエラーも発生します
誰でも助けてください