Salut,
Fais aussi attention à ton test, car
if ( ListJoueurequipe[i].Getnum()=j.Getnum())
ne fait surement pas ce que tu crois (à condition que cela compile... en fonction du fait que GetNum est une fonction constante ou non et en fonction du type de retour (valeur ou référence ) de la fonction).
Dans le meilleur des cas (comprends : si GetNum est déclarée comme étant une fonction constante renvoyant une référence constante), le compilateur se plaindra de l'impossiblité de modifier la valeur.
Dans le pire des cas, (si GetNum est déclarée comme une fonction non constante et qu'elle renvoie une référence non constante), tu modifiera la valeur renvoyée par GetNum de tous les éléments de ListJoueurequipe, et ils seront tous supprimés
Entre les deux (fonction (constante ou non) renvoyant une valeur), le test vaudra true si j.GetNum est différent de 0. Ce qui risque d'arriver dans la très grande majorité des cas, et qui provoquera donc l'effacement de la très grosse majorité des éléments (pour ne pas dire de tous, selon que tu acceptes ou non qu'un joueur ait le numéro 0).
L'égalité se teste toujours avec l'opérateur == (deux fois le symbole '=' qui se suit), sinon c'est une affectation!!!
Partager