Ошибка эталонной системы ввода - PullRequest
0 голосов
/ 29 мая 2010

Я использую SFML для системы ввода в моем приложении.

size_t WindowHandle;
WindowHandle = ...; // Here I get the handler

sf::Window InputWindow(WindowHandle);
const sf::Input *InputHandle = &InputWindow.GetInput();  // [x] Error

В последних строках я должен получить ссылку на систему ввода.

Вот объявление GetInput из документации :

const Input & sf::Window::GetInput () const

Проблема:

>invalid conversion from ‘const sf::Input*’ to ‘sf::Input*’

Что не так?

1 Ответ

1 голос
/ 29 мая 2010

Есть ли особая причина, по которой вы хотите иметь указатель, а не ссылку? Если нет, вы можете попробовать это:

const sf::Input & InputHandle = InputWindow.GetInput();  

Это вернет вам ссылку на ваш дескриптор ввода.

Кстати, это сработало для меня:

const int& test(int& i)
{
  return i;  
}

int main()
{
   int i = 4;

   const int* j = &test(i);

   cout << *j << endl;
   return 0;
}

Выход: 4

Не знаю, почему ваш компилятор не хочет, чтобы вы указывали ссылку.

...