2016-07-05 13 views
0

だから私はこのエラーを取得しています:game.cpp(15): error C3867: 'sf::Window::isOpen': non-standard syntax; use '&' to create a pointer to memberSFMLエラー - isOpen非標準構文。

Game.cpp

#include "Game.h" 
#include <SFML/Graphics.hpp> 
#include <SFML/Window.hpp> 

Game::Game() : 
    window(sf::VideoMode(200, 200), "SFML works!"), 
    player() 
{ 
    player.setRadius(40.f); 
    player.setPosition(100.f, 100.f); 
    player.setFillColor(sf::Color::Cyan); 
} 

void Game::run() { 
    while (window.isOpen) { 
     processEvents(); 
     update(); 
     render(); 
    } 
} 

void Game::processEvents() 
{ 
    sf::Event event; 
    while (window.pollEvent(event)) { 
     if (event.type == sf::Event::Closed) 
      window.close(); 
    } 
} 

void Game::update() { 

} 

void Game::render() { 
    window.clear(); 
    window.draw(player); 
    window.display(); 
} 

そして、これが私のgame.h

#include <SFML/Graphics.hpp> 
#include <SFML/Window.hpp> 

class Game { 
public:       
    Game();   
    void run(); 
    sf::RenderWindow window; 
    sf::CircleShape player; 
private:   
    void processEvents();   
    void update();   
    void render(); 
}; 

である私は私が間違っているの何見当がつかない、私が見えましたトラフ他のstackoverflowの答えは同じエラーが、彼らはすべて一般的であり、私はSFMLライブラリからのため、私はこのエラーを修正するのを助けません。誰かがそれを修正する方法を知っている場合私を助けてください:)

+4

'while(window.isOpen)'を 'while(window.isOpen())に変更する –

+0

あなたは私を冗談にする必要があります...私は真剣にそれを見落としましたか? – Martacus

答えて

2

ここでwhile (window.isOpen)あなたはメンバー関数ポインタ 'window.isOpen'がnullptrではないことをテストしています。あなたが意図したのは、の電話番号while (window.isOpen())です。

関連する問題