标头C++中应为不合格Id

Expected Unqualified-Id in Header C++

本文关键字:不合格 Id C++ 标头      更新时间:2023-10-16

我正在尝试用SFML制作一个简单的程序。到目前为止,我有一个主文件和一个打开窗口的文件,以及该文件的头。问题是,我的标题有问题:

#ifndef Window.hpp
#define Window.hpp
Window();
int Loop();
#endif

我得到这个错误:

C: 。。。\Window.hpp|4|错误:"."之前应为不合格的id令牌|

窗口文件为:

#import <SFML/Window.hpp>
#import <iostream>
// This file needs to create and maintain the program's window, and change it's state.
class Window
{
sf::RenderWindow appWindow;
sf::Image charImage;
sf::Sprite charSpriteSheet;
public:
Window();
int Loop();
}
Window::Window()
{
appWindow.Create(sf::VideoMode( 800, 600, 32), "AI_Fighter");
if( !charImage.LoadFromFile("Bass.png") )
{
    cout << "Problem opening file 'Bass.png'";
}
charSpriteSheet.SetImage(charImage);
}
int Window::Loop()
{
    // Start game loop
while (appWindow.IsOpened())
{
    sf::Event evt;
    while (appWindow.GetEvent(evt))
    {
        // Window closed
        if (evt.Type == sf::Event::Closed)
            appWindow.Close();
        // Escape key pressed
        if ((evt.Type == sf::Event::KeyPressed) && (evt.Key.Code == sf::Key::Escape))
            appWindow.Close();
    }
    // Get elapsed time
    float ElapsedTime = appWindow.GetFrameTime();
    // Move the sprite
    if (appWindow.GetInput().IsKeyDown(sf::Key::Left))  charSpriteSheet.Move(-100 * ElapsedTime, 0);
    if (appWindow.GetInput().IsKeyDown(sf::Key::Right)) charSpriteSheet.Move( 100 * ElapsedTime, 0);
    if (appWindow.GetInput().IsKeyDown(sf::Key::Up))    charSpriteSheet.Move(0, -100 * ElapsedTime);
    if (appWindow.GetInput().IsKeyDown(sf::Key::Down))  charSpriteSheet.Move(0,  100 * ElapsedTime);
    // Rotate the sprite
    if (appWindow.GetInput().IsKeyDown(sf::Key::Add))      charSpriteSheet.Rotate(-100 * ElapsedTime);
    if (appWindow.GetInput().IsKeyDown(sf::Key::Subtract)) charSpriteSheet.Rotate( 100 * ElapsedTime);
    // Clear the screen (fill it with black color)
    appWindow.Clear(sf::Color( 0, 0, 0));
    appWindow.Draw(charSpriteSheet);
    // Display window contents on screen
    appWindow.Display();
}
}

从以下位置更改代码:

#ifndef Window.hpp
#define Window.hpp

#ifndef Window_hpp
#define Window_hpp