Vecteur.erase(iterator) et vecteur.clear() inactifs - C++ - Programmation
Marsh Posté le 18-09-2011 à 18:05:47
Faut pas faire passer avec un pointeur par hasard ?
Marsh Posté le 18-09-2011 à 18:31:35
non je ne pense pas car j'ai une fonction ajoute ou l'on utilise la méthode base.push_back et elle marche correctement
Marsh Posté le 18-09-2011 à 18:50:53
je ne pense pas, car si la fonction push_back fonctionne, c'est que le vecteur n'est pas passé par copie
il y a aussi le fait que les pointeurs c'est pour l'exo d'apès
Marsh Posté le 18-09-2011 à 19:09:34
ca manque de reference, tu passes tes trucs par copie.
Code :
|
Revoir les base, ou le cas echeant, changez d'ecole
Marsh Posté le 18-09-2011 à 19:21:21
ToutChoco a écrit : je ne pense pas, car si la fonction push_back fonctionne, c'est que le vecteur n'est pas passé par copie |
Il n'y a pas de raison que push_back fonctionne, hein.
Code :
|
C:\Digital Mars\cpp>pbtest.exe |
A+,
Marsh Posté le 18-09-2011 à 19:21:29
Joel F a écrit : ca manque de reference, tu passes tes trucs par copie.
|
haha, tu juges bien vite, problème d'égo? d'amour propre?
Par ailleurs je te laisse regarder dans le dictionnaire la définition du verbe échoir, comme ca tu te coucheras moins bête ce soir, et tu ne fera plus cette faute de syntaxe
tu as vu? moi je t'aide un peu quand même si tu ne sais pas...
Pour finir, si tu avais lu 2 posts au dessus, tu aurais vu que l'utilisation des pointeurs n'est pas demandée dans cet exercice, puisque le cours ne les introduit qu'après...
je vais quand même passer au pointeurs, mais le chargé de TD nous a bien demandé de ne pas faire la partie pointeurs, c'est ce que je trouve bizarre... Ou alors il a pas vraiment regardé le TD...
Marsh Posté le 18-09-2011 à 19:27:34
si tu avais lu ma reponse, tu verrais que je parle de reference.
Sinon, pour le reste, vu l'erreur que je reovis tout le temps, j'en deduit que tu subit encore un de ces cours de C++ antediluviens, je ne remets pas tes capacités en causes
Marsh Posté le 18-09-2011 à 19:28:38
Bon...
ToutChoco, on vous dit un truc qui saute aux yeux, tellement c'est évident: vos passages de paramètres sont faits par copie.
Alors au lieu de comprendre ce que l'on vous dit, et d'agir en conséquence (en passant par référence les paramètres qu'on veut voir modifiés en sortie de la fonction) si vous continuez à écrire des stupidités avec agressivité au meilleur spécialiste de C++ du forum, vous allez pas faire long feu ici.
A+,
Marsh Posté le 18-09-2011 à 19:42:06
gilou a écrit : Bon... |
autant pour moi, j'ai cru que la phrase de Joel F sous entendait que je n'avais rien à faire dans une école ou l'on enseigne la POO car je n'en avais pas les capacités, après relecture il est possible que je me sois peut être trompé sur le sens
si c'est le cas, je suis désolé
alors va pour les références, j'essaie tout de suite, mais dans ce cas pourquoi push_back fonctionne? ce serait visual studio qui corrigerait automatiquement?
Marsh Posté le 18-09-2011 à 21:04:01
Citation : mais dans ce cas pourquoi push_back fonctionne? |
Pourquoi dans ton exemple, il fonctionne?
Sans le code, comment savoir...
Citation : j'ai cru que la phrase de Joel F sous entendait que je n'avais rien à faire dans une école ou l'on enseigne la POO car je n'en avais pas les capacités |
Non. Il voulait dire que l'on ne t'enseignait peut être pas correctement le C++ (certains enseignants ne maîtrisant pas trop bien ce langage, cela donne lieu parfois à des cours de niveau médiocre, et il se demandait si ça n'était pas la cas ici).
A+,
Marsh Posté le 18-09-2011 à 21:57:37
Tu fais tes puch_back dans ton main avec la déclaration du vector ?
Marsh Posté le 18-09-2011 à 23:03:14
Joel F a écrit : ca manque de reference, tu passes tes trucs par copie.
|
Par hasard, faire passer avec des pointeurs ça résoudrait pas aussi le problème ?
Marsh Posté le 18-09-2011 à 23:06:45
si sauf que les pointeurs c'est moins safe que les references, et deuxio on est pas en C
Marsh Posté le 18-09-2011 à 23:07:29
C'est quoi la différence alors ?
Marsh Posté le 18-09-2011 à 23:54:27
http://en.wikipedia.org/wiki/Reference_(C%2B%2B)
A+,
Marsh Posté le 18-09-2011 à 17:49:02
Bonjour à tous!
Voilà, dans le cadre de mes cours de POO on doit realiser en c++ un programme ou l'on enregistre dans un vecteur nommé "base" des éléments de type personne (structure définie au préalable) contenant nom et prénom, réalisant ainsi une petite base de données de personnes.
Le programme doit être capable de supprimer une personne du vecteur et d'effacer toutes les personnes, pour cela je comptais utiliser les méthodes base.erase(it) et base.clear cependant si je ré-affiche le contenu du vecteur après, je remarque que rien n'est effacé
voici mes 2 fonctions:
pouvez vous m'aider à résoudre ce mystère?
merci d'avance!
Message édité par ToutChoco le 18-09-2011 à 19:22:11