[SFML 2.x] Syntax error missing ; before *
Ostatnio zmodyfikowano 2016-03-24 18:48
oigi333 Temat założony przez niniejszego użytkownika |
[SFML 2.x] Syntax error missing ; before * » 2016-03-24 13:00:17 Witam Piszę grę dla kolegi i pojawiają się takie problemy: error C2039: 'currentgs' : is not a member of 'Game' error C2143: syntax error : missing ';' before '*' error C2143: syntax error : missing ';' before '*' error C2143: syntax error : missing ';' before '*' error C4430: missing type specifier - int assumed. Note: C++ does not support default-int error C4430: missing type specifier - int assumed. Note: C++ does not support default-int error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
Game.cpp: #include <SFML/Graphics.hpp> #include <cmath>
#include "Global.h" #include "Menu.h"
sf::RenderWindow okno( sf::VideoMode( 800, 600, 32 ), "Kometa Marus" );
int main() { Game game; game.currentgs = new Menu; game.loop(); return 0; }
Game.h: #pragma once #include "Gamestate.h" class Game { sf::RenderWindow okno; public: Gamestate * currentgs; Game( void ); ~Game( void ); void loop(); };
Game.cpp: #include "Game.h"
Game::Game( void ) { }
Game::~Game( void ) { }
void Game::loop() { while( okno.isOpen() ) { sf::Event zdarzenie; while( okno.pollEvent( zdarzenie ) ) { if( zdarzenie.type == sf::Event::Closed ) okno.close(); } currentgs->show( okno ); okno.clear( sf::Color( 255, 0, 0 ) ); okno.display(); } }
Gamestate.h: #pragma once #include <SFML/Graphics.hpp> #include "Global.h"
class Game;
class Gamestate { public: Gamestate( void ); virtual ~Gamestate( void ); virtual void show( sf::RenderWindow & mokno ) = 0; void change( Gamestate & game ); };
Gamestate.cpp #include "Gamestate.h"
Gamestate::Gamestate( void ) { }
Gamestate::~Gamestate( void ) { } void Gamestate::change( Gamestate & game ) { ; }
Menu.h: #pragma once #include <SFML/Graphics.hpp> #include "Global.h"
class Menu : public Gamestate { public: Menu( void ); ~Menu( void ); void show( sf::RenderWindow & mokno ); };
Menu.cpp #include "Menu.h"
Menu::Menu( void ) { }
Menu::~Menu( void ) { } void Menu::show( sf::RenderWindow & mokno ) { }
Global.h #include "Gamestate.h" #include "Game.h" #include <SFML/Graphics.hpp>
|
|
michal11 |
» 2016-03-24 15:17:45 Wywal class Game; z Gamestate.h i sprawdź czy zadziała, po co to tam w ogóle jest ? |
|
oigi333 Temat założony przez niniejszego użytkownika |
» 2016-03-24 17:14:43 To samo |
|
michal11 |
» 2016-03-24 18:29:20 Ok, wszystko przez plik Global, stworzyłeś cykliczną zależność pomiędzy Game i Gamestate jedna nie może być skompilowana dopóki druga nie jest ale druga nie może być ponieważ wymaga pierwszej do skompilowania, usuń plik Global, popraw include'y i będzie śmigać. |
|
oigi333 Temat założony przez niniejszego użytkownika |
» 2016-03-24 18:34:52 Gdzie które #includy? |
|
oigi333 Temat założony przez niniejszego użytkownika |
» 2016-03-24 18:48:14 Okej wszystko działa dziękuje |
|
« 1 » |