2010-05-29 6 views
0

J'utilise SFML pour le système de saisie dans mon application.Problème de référence du système d'entrée

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

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

Aux dernières lignes, je dois obtenir une référence pour le système d'entrée.

Voici la déclaration de GetInput de documentation:

Le problème est:

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

Qu'est-ce qui ne va pas?

Répondre

1

Y at-il une raison particulière pour laquelle vous voulez avoir un pointeur plutôt qu'une référence? Sinon, vous pouvez essayer ceci:

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

Cela vous renvoyer une référence à votre poignée d'entrée.

BTW, cela a fonctionné pour moi:

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

int main() 
{ 
    int i = 4; 

    const int* j = &test(i); 

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

Sortie: 4

Je ne sais pas pourquoi votre compilateur ne veut pas que vous pointez la référence.

Questions connexes