我在我的应用程序中使用SFML作为输入系统。
size_t WindowHandle;
WindowHandle = ...; // Here I get the handler
sf::Window InputWindow(WindowHandle);
const sf::Input *InputHandle = &InputWindow.GetInput(); // [x] Error
在最后一行我必须得到输入系统的参考。
以下是来自documentation的 GetInput 声明:
const Input & sf::Window::GetInput () const
问题是:
>invalid conversion from ‘const sf::Input*’ to ‘sf::Input*’
怎么了?
答案 0 :(得分:1)
您是否有特殊原因想要指针而不是引用? 如果没有,你可以试试这个:
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
不知道为什么你的编译器不希望你指向引用。