[ALG3IR]C++ Mini-Projet

Voir le sujet précédent Voir le sujet suivant Aller en bas

resolu [ALG3IR]C++ Mini-Projet

Message  galaeron le Sam 22 Sep 2012, 15:52

Bonjour et bonne rentrée!
Je suis en train de faire le mini projet de c++ (Button-up) et je me heurte à une difficulté avec l'algo remove_if. J'ai en effet une erreur de type <unresolved overloaded function type>
Code:

...
Plateau = new vector < deque < Joueur::Etat > * >;
...
bool Board::toRemove(deque <Joueur::Etat> * d){
   return !d->empty();
}
...
deque <Joueur::Etat> * new_end = remove_if(Plateau->begin(),Plateau->end(),toRemove);
...
Si vous pouviez éventuellement m'indiquer quel est mon erreur ...
D'avance merci!



EDIT : J'ai contourner le problème mais ça serait intéressant de savoir pourquoi!


Dernière édition par galaeron le Dim 23 Sep 2012, 09:28, édité 1 fois

galaeron

Nombre de messages : 113
Age : 28
Prénom : Arthur
Statut : 3IR12
Date d'inscription : 29/06/2011

Revenir en haut Aller en bas

resolu Re: [ALG3IR]C++ Mini-Projet

Message  nvs le Sam 22 Sep 2012, 16:51

quelle est la nature de toRemove ? une méthode de Board, une méthode statique de Board ? dans les 2 cas, son utilisation dans remove_if n'est pas correcte. toRemove doit être une fonction ou un objet fonction. note que tu peux travailler en c++11 et faire de toRemove une lamba-fonction : l'exemple donné en bas de page devrait particulièrement t'intéresser Smile






pirat

_________________

nvs

Nombre de messages : 5238
Age : 44
Prénom : Nicolas
Statut : prof
Localisation : bxl
Date d'inscription : 24/11/2005

http://nvansteenkiste.googlepages.com

Revenir en haut Aller en bas

resolu Re: [ALG3IR]C++ Mini-Projet

Message  galaeron le Dim 23 Sep 2012, 09:27

En effet ça marche beaucoup mieux quand c'est une fonction et pas une méthode \o/
Merci!

PS : Pour un vecteur, je sais pas si vector.erase(iterator) est plus "leger" que remove_if + pop_back() mais visiblement, il est tout à fait possible avec ma découpe de se contenter de vector.erase(iterator)

galaeron

Nombre de messages : 113
Age : 28
Prénom : Arthur
Statut : 3IR12
Date d'inscription : 29/06/2011

Revenir en haut Aller en bas

resolu Re: [ALG3IR]C++ Mini-Projet

Message  nvs le Dim 23 Sep 2012, 13:33

galaeron a écrit:PS : Pour un vecteur, je sais pas si vector.erase(iterator) est plus "leger" que remove_if + pop_back() mais visiblement, il est tout à fait possible avec ma découpe de se contenter de vector.erase(iterator)
la complexité de pop_back est moindre que celle d'erase (c'est spécifié en bas des pages).




cat

_________________

nvs

Nombre de messages : 5238
Age : 44
Prénom : Nicolas
Statut : prof
Localisation : bxl
Date d'inscription : 24/11/2005

http://nvansteenkiste.googlepages.com

Revenir en haut Aller en bas

resolu Re: [ALG3IR]C++ Mini-Projet

Message  Contenu sponsorisé Aujourd'hui à 07:11


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum