Посмотрите на простой код ниже:Integer в SDL_JoystickName в C++
int main()
{
int a;
a = SDL_Init(SDL_INIT_JOYSTICK);
a = SDL_NumJoysticks();
for (int i=0; i<a; i++)
cout << SDL_JoystickName(i);
return 0;
}
Я использую библиотеку SDL, Кажется, что нет ничего плохого с кодом, я пытаюсь получить имена подключенных джойстиков но это дает мне ошибку ниже:
error C2664: 'SDL_JoystickName' : cannot convert parameter 1 from 'int' to 'SDL_Joystick *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
Где это проблема?
Первая проблема должна быть довольно очевидна из ошибки. Вторая проблема заключается в том, что вы не читаете [документацию] (http://wiki.libsdl.org/FrontPage), где вы бы легко нашли ['SDL_JoystickNameForIndex'] (http://wiki.libsdl.org/SDL_JoystickNameForIndex?highlight =% 28 \ bCategoryAPI \ b% 29 |% 28SDLFunctionTemplate% 29), которые * делают * принимают индекс, в отличие от ['SDL_JoystickName'] (http: //wiki.libsdl.org/SDL_JoystickName? Highlight =% 28 \ bCategoryAPI \ b% 29 |% 28SDLFunctionTemplate% 29), который * не *. –
Я читал неправильную документацию: http://www.libsdl.org/release/SDL-1.2.15/docs/html/sdljoystickname.html – Nofuzy