Salut,
J'ai un objet Labyrinthe qui hérite de Environnement, et un objet Mover qui possède un pointeur vers un objet Environement.
Environement est initialisé avec un Labyrinthe. Génial, jusqu'ici aucun problème, tout fonctionne.
Maintenant j'ai besoin d'utiliser une méthode spécifique à Labyrinthe depuis mon Mover qui lui pense avoir à faire à un Environement. Je sais que c'est un Labyrinthe, aucun doute là dessus. Je tente donc de le caster mais rien y fait...
- Labyrinthe *lab1 = reinterpret_cast<Labyrinthe*> (_l); : erreur: invalid use of incomplete type ‘struct Labyrinthe’
- Labyrinthe *lab2 = static_cast<Labyrinthe*> (_l); : erreur: invalid static_cast from type ‘Environnement*’ to type ‘Labyrinthe*’
- Labyrinthe *lab3 = dynamic_cast<Labyrinthe*> (_l); : erreur: cannot dynamic_cast Mover::_l’ (of type ‘class Environnement*’) to type ‘struct Labyrinthe*’ (target is not pointer or reference to complete type)
La dernière erreur me fait un peut peur, et je soupconne l'en tête de mon Mover:
Je comprend pas ce que fait ce Class Labyrinthe; J'ai essayé de le remplacer par un #include "Labyrinthe.h" mais là le compilateur m'insulte à coup de erreur: ‘Labyrinthe’ has not been declared et autres joyeusetés alors je mécrase et laisse comme c'était...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 #ifndef MOVER_H #define MOVER_H class Labyrinthe; #include "Environnement.h" class Mover {
Dernière précision de taille : c'est pour un projet scolaire, et la class Mover m'as été donné.
Merci aux courageux qui tenterons de m'aider à résoudre ce problème...
Partager