2012-04-03 1 views
1

에 규정되지 않은-ID 예상. 지금까지 나는 메인 파일과 윈도우를 여는 파일, 그리고 그 파일의 헤더를 가지고있다.헤더 C++ 내가 SFML 간단한 프로그램을 만들려고 노력하고

C : 나는이 오류가

#ifndef Window.hpp 
#define Window.hpp 

Window(); 
int Loop(); 

#endif 

: 것, 내가 헤더에 문제가 했어 있습니다 ... \ 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(); 
} 
} 
+0

에 내가'#의 define'에 사용할 수 있습니다 .''생각하지 않는다 상수. – RedX

답변

3

변경 코드 :

#ifndef Window.hpp 
#define Window.hpp 

#ifndef Window_hpp 
#define Window_hpp 
+1

누락되었습니다 ";" Window :: Window() 전에 클래스를 닫습니다. –

+0

이미 ... 그러나 나는 아직도 C를 얻을 고정 : \ ... \ Window.hpp | 4 | 오류 : 전에 예상 생성자, 소멸자, 또는 형식 변환 ';' 토큰 | – MKII

+0

어느 라인에서 오류가 발생합니까? –

관련 문제