1
Général / Impossible de faire passer un this en argument
« le: Février 26, 2015, 06:05:05 pm »
Bonjour,
Je rencontre actuellement un problème bloquant dont je ne trouve pas la solution, le but qu'un objet puisse envoyer un this ( donc un pointer vers lui même ) à un autre objet ( via son constructeur ) en argument.
voici ce que j'ai essayé en version simplifié qui ne fait apparaitre que le code du problème :
UnitTower.h
Une fonction dans le UnitTower.cpp qui doit crée un objet et envoyer un pointer de lui même
le constructeur de l'objet qui récupère l'autre
Et son Shoot.cpp
Je vous remercie d'avance et je continue à chercher
Cdlm,
Phobizeur
Je rencontre actuellement un problème bloquant dont je ne trouve pas la solution, le but qu'un objet puisse envoyer un this ( donc un pointer vers lui même ) à un autre objet ( via son constructeur ) en argument.
voici ce que j'ai essayé en version simplifié qui ne fait apparaitre que le code du problème :
UnitTower.h
Code: [Sélectionner]
class UnitTower
{
public:
UnitTower();
~UnitTower();
sf::Sprite getSprite();
void update();
void setTarget(UnitMobile);
UnitMobile getTarget();
protected:
UnitMobile cible;
sf::Texture texture;
sf::Sprite sprite;
};
Une fonction dans le UnitTower.cpp qui doit crée un objet et envoyer un pointer de lui même
Code: [Sélectionner]
void UnitTower::update(){ Shoot shoot(this) }
le constructeur de l'objet qui récupère l'autre
Code: [Sélectionner]
class Shoot
{
public:
Shoot(UnitTower*);
~Shoot();
void fire();
protected:
sf::Texture texture;
sf::Sprite sprite;
int dommage;
UnitTower* tower;
sf::Clock clock;
};
Et son Shoot.cpp
Code: [Sélectionner]
Shoot::Shoot(UnitTower* tOwer)
{
tower = tOwer;
}
Je vous remercie d'avance et je continue à chercher
Cdlm,
Phobizeur