Bonjour tout le mondeJ'ai un petit problème, dans mon programme j'ai une méthode comme ceci ( venant de la class Attackable ) :
Dans un fichier hpp j'ai défini AttackInfo comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 virtual AttackInfo attacksInfo() const = 0;
Il faut comprendre le code comme ceci : Vecteur de plusieurs type de dégat( nom du sort ou arme/ jet de dégâts de l'arme ou du sort, jet de dégâts critiques de l'arme ou du sort )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2using AttackInfo = std::vector<std::tuple<std::string, std::vector<DmgRoll>, std::vector<DmgRoll>>>;
Ma classe Player héritent de Attackable et voici attacksInfo() :
J'ai l'erreur suivante : "push_back() ne fait pas partie de AttackInfo" Using ne garde pas les méthodes des différents objets ci dessus ? Cela me paraît très bizarre x)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 AttackInfo Player::attacksInfo() const //à opti { ///using AttackInfo = std::vector<std::tuple<std::string, std::vector<DmgRoll>, std::vector<DmgRoll>>>; AttackInfo atkInfo; for( size_t i{0}; i < player_spells.size(); ++i ) { atkInfo[i].push_back( make_tuple(player_spells[i].name(), player_spells[i].spellDmg(), player_spells[i].spellDmgCrit()) ); } return atkInfo; }
Merci d'éclairer ma lanterne :p
Partager