输入系统参考故障

发布于 2024-09-03 14:04:45 字数 695 浏览 6 评论 0原文

我在应用程序中使用 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*’

出了什么问题?

I'm using SFML for input system in my application.

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

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

At the last lines I have to get reference for the input system.

Here is declaration of GetInput from documentation:

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

The problem is:

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

What's wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

紧拥背影 2024-09-10 14:04:45

您想要指针而不是引用是否有特殊原因?
如果没有,您可以尝试以下操作:

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

不知道为什么你的编译器不希望你指向引用。

Is there a special reason why you want to have a pointer rather than a reference?
If not, you could try this:

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

This will return you a reference to your Input handle.

Btw, this worked for me:

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

int main()
{
   int i = 4;

   const int* j = &test(i);

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

Output : 4

Don't know why your compiler doesn't want you to point the reference.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文