Bonjour tout le monde J'ai un petit problème, dans mon programme j'ai une méthode comme ceci ( venant de la class Attackable ) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
virtual AttackInfo attacksInfo() const = 0;
Dans un fichier hpp j'ai défini AttackInfo comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
using AttackInfo = std::vector<std::tuple<std::string, std::vector<DmgRoll>, std::vector<DmgRoll>>>;
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 )

Ma classe Player héritent de Attackable et voici attacksInfo() :
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;
}
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)

Merci d'éclairer ma lanterne :p