Программирование джойстика в DirectInput
Я пишу приложение для программы Joystick, используя DirectInput и MFC. Я нашел скрипт, как это сделать, но у меня проблема. Когда я хочу перечислить устройства, чтобы найти джойстик, я использую правильную функцию "EnumDevices" с аргументом "enumCallback", которая тоже является функцией. Теперь я не так называю функцию, но обычно она работает. Я не знаю, что не так. Спасибо за помощь!
void Joystick::Załaduj_Pada()
{
Czy_Jest_Pad = true;
// Create a DirectInput device
DirectInput8Create(GetModuleHandle(NULL), DIRECTINPUT_VERSION, IID_IDirectInput8, (VOID**)&di, NULL);
di->EnumDevices(DI8DEVCLASS_GAMECTRL,enumCallback,NULL,DIEDFL_ATTACHEDONLY);
// Make sure we got a joystick
if (joystick == NULL)
{Czy_Jest_Pad=false;}
}
ошибка C3867: 'Joystick::enumCallback': отсутствует вызов аргумента при вызове функции; используйте '&Joystick::enumCallback', чтобы создать указатель на член
1 ответ
Решение
Пытаться
di->EnumDevices(DI8DEVCLASS_GAMECTRL,&enumCallback,NULL,DIEDFL_ATTACHEDONLY
поместите '&' перед enumCallback.