无法在SFML 2.4中存储文本

时间:2017-12-16 13:56:15

标签: c++ sfml

我正在使用sfml库进行某种图形工作,我想存储我使用键盘输入的文本,但它显示错误  请告诉我它是如何可能的:

#include <SFML/Graphics.hpp>
#include <iostream>
#include <string> 
using namespace std; 
int main()
{
   string s="";
   sf::Window window(sf::VideoMode(800, 200), "Ludo",sf::Style::Default);
   window.setKeyRepeatEnabled(false);
    while (window.isOpen())
    {
        sf::Event event;
            while (window.pollEvent(event))
            {
               if (event.type == sf::Event::Closed)
                {
                   window.close();
                }
               else if (event.type == sf::Event::EventType::TextEntered)
               {
                   s += event.type.unicode;
               }
           }
          window.display();
    }
    return 0;
 }

错误是:

  

sf :: Event事件,表达式必须具有类类型

1 个答案:

答案 0 :(得分:1)

你的问题就在这一行:

name

name :: ListT IO String name = [ firstName ++ " " ++ lastName | firstName <- Select input , lastName <- Select input ] name' :: ListT IO String name' = [ firstName ++ " " ++ lastName | firstName <- Select input | lastName <- Select input ] 是一个描述事件类型的字段(您已在上面的案例检查中使用过它)。

您尝试访问的成员s += event.type.unicode; 显然失败了,因为此处event.type不是类或结构。你真正想要的是字段unicode,它是一个结构。

因此,这条线必须如下所示:

type