bonjour j'ai un probléme de compilation
voila le messages
voila le codeprsieux@prsieux-laptop:~/info/Project/Jeux/Pong$ g++ -c InitEngine.o InitEngine.cpp
Engine.hpp: In member function «Engine& Engine::operator=(const Engine&)»:
Engine.hpp:11: erreur: non-static reference member «EventGestion& Engine::EventBoucleMain», can't use default assignment operator
InitEngine.cpp: In constructor «InitEngine::InitEngine()»:
InitEngine.cpp:20: note: synthesized method «Engine& Engine::operator=(const Engine&)» first required here
InitEngine.hpp
#ifndef _INIT_ENGINE_HPP_
#define _INIT_ENGINE_HPP_
#include <vector>
#include "EventGestion.hpp"
class Engine;
/*
Cette classe vas initialisé tout les moteur du jeux
*/
class InitEngine
{
public:
InitEngine();
~InitEngine();
protected:
EventGestion EventBoucle;
std::vector<Engine> TabEngine;
};
#endif //end _INIT_ENGINE_HPP_
InitEngine.cpp
et Engine.hpp les autres ne pose pas de probléme#include <vector>
#include "InitEngine.hpp"
#include "EventGestion.hpp"
#include "Engine.hpp"
/*
#include "EngineGraphics.hpp"
#include "EnginePhy.hpp"
#include "EngineIn.hpp"
*/
InitEngine::InitEngine()
{
const int numberEngine = 3;
EventBoucle;
TabEngine.reserve(numberEngine);
TabEngine[0] = Engine(EventBoucle);
TabEngine[1] = Engine(EventBoucle);
TabEngine[2] = Engine(EventBoucle);
EventBoucle.addrEngine(TabEngine);
EventBoucle.main();
}
InitEngine::~InitEngine()
{
}
#ifndef _ENGINE_HPP_
#define _ENGINE_HPP_
#include <queue>
//#include "MsgEngine.hpp"
#include "EventGestion.hpp"
class Engine
{
public:
Engine(EventGestion& EventBoucle);
// bool DealMsg(MsgEngine& MsgDeal);
protected:
EventGestion& EventBoucleMain;
// std::queue<MsgEngine> MsgEngineQueue;
// bool AddMsg(MsgEngine& MsgAdd);
};
#endif // end _ENGINE_HPP_
si je met EventGestion& EventBoucleMain static sa compile mais sa me sert a rien de le maitre en static. Et je voudrait eviter un pointeur mais je veut pas copier l'objet.
Partager