Bonjour a tous,
je dispose d'un vector de classe alpha, et j'aimerai savoir si l'on peut faire des egalité. du style :
vector <alpha*> alp;
if(alp[alp.getsize()]=alp[0]){
bla bla;
}
Merci beauocup;
Ben
Bonjour a tous,
je dispose d'un vector de classe alpha, et j'aimerai savoir si l'on peut faire des egalité. du style :
vector <alpha*> alp;
if(alp[alp.getsize()]=alp[0]){
bla bla;
}
Merci beauocup;
Ben
Tout est possible.
Cela dit, ce que tu fais est dangereux...
- l'index getSize() est en dehors du vecteur : ça pète ! (getSize()-1)
- si ton vecteur est vide : ça pète !
Passe plutot par les iterateurs : tu auras moins de tests à faire pour blinder ton code.
Tu disposes d'un vector de alpha*, pas d'un vector de alpha.je dispose d'un vector de classe alpha
Je ne suis pas sûr d'ailleurs qu'il soit pertinent d'utiliser des pointeurs.
Bon déjà l'égalité c'est avec ==.et j'aimerai savoir si l'on peut faire des egalité. du style :
vector <alpha*> alp;
if(alp[alp.getsize()]=alp[0]){
Ensuite cela n'a rien à voir avec le vector, tu essaies de comparer deux variables de type alpha*.
Les pointeurs, en tant que POD, sont comparables, donc tu peux oui.
Sinon pour comparer des variables de type alpha il faut qu'il existe une surcharge ou une fonction membre de la classe alpha adaptée.
a donc je ne peux pas utiliser d'égalité entre des objets?
Sinon pas de probleme sur le fait que les vector soit vide,
je commence par un chargement donc il ne sera jamais vide...
Le truc c'est que mes objet ajpha contiennent plusieurs variables et il serait vraiment lours defaire les comparaison de tous les champs, c'est pour cela que je prefererai faire une comparaisson == si possible pour ne pas perdre de temps.
si, faut que tu surcharges l'opérateur ==
bon finalement je me suis pas pris la tete j'ai juste fait une comparaisoon de 3 champs...
Merci a tous
Ben
Partager