C++ C++ erkennt klassentyp nicht?

Rooky420

Cadet 4th Year
Registriert
Nov. 2015
Beiträge
98
Hallo,

ich habe eine Grundlagenfrage zu c++.
Hier die 2 header:
Code:
//Main.h
#pragma once

#include <SFML\Graphics.hpp>
#include "Game.h"

Game game;

Code:
//Game.h
#pragma once

#include "Main.h"

class Game
{
public:
	sf::RenderWindow* Window;

	Game();
	~Game();
};

In Main.h erhalte ich die beiden fehler:
Unbenannt.PNG
Zeile 6 Spalte 1 zeigt bei mir auf "Game game;"

Warum tritt der fehler auf bzw wie kann man ihn beheben?

Gruß,
Rooky420
 
du verwendest die Klasse in Main.h durch das Include vor deren Deklaration. Problem ist wohl die zirkuläre Abhängigkeit.
 
Zuletzt bearbeitet: (Ergänzung)
Im Zweifelsfall einfach eine Forward-Deklaration vor der Verwendung einfügen:

Code:
class Game;

Game game;
 
Das geht so nicht. Du kannst so nur Zeiger und Referenzen auf Game erstellen, aber kein Objekt vom Typ Game deklarieren oder definieren, da dafür die Definition der Klasse bekannt sein muss.
 
Zurück
Oben