1 2 3 4 5
| game::map__& old_map = //....
old_map.broadcast.erase(std::find(std::begin(old_map.broadcast),
std::end(old_map.broadcast),
m_client_socket.getHandle()) // getHandle est de type unsigned int.
Et voici ce que C::B me retourne...
t'as pas tout simplement oublié #include <algorithm> ?
Sinon à part cela, ton code est dangereux et ne fera pas forcément ce que tu espère : std:find renvoie un itérateur à la position de l'élement trouvé, s'il est trouvé, sinon elle te renvoie l'itérateur que tu as fourni en argument "last".
Autrement dit, à chaque fois que tu essaiera de supprimer un élément, s'il n'existe pas, tu supprimeras le dernier de ton vector.
Enfin, je ne sais pas si std:remove est la bonne solution également. N'oublies pas que std:remove va supprimer toutes les valeurs égales à value qu'il trouve.. si tes "handles" sont à Id unique, ça posera pas de problème, mais vaut mieux que tu sois sur de ce que tu fais
Egalement, tu peux éviter d'utiliser les "__" dans tes noms de structure, de classe, ou d'attributs, etc, car ce sont des nomenclatures réservées au compilateur, et ça risquerait de créer des conflits.
Ingénieur développement logiciels Inscrit enJuin 2007Messages5 184Détails du profil Informations personnelles : Sexe : Localisation : France, Essonne (Île de France) Informations professionnelles :
Activité : Ingénieur développement logiciels Informations forums :
Inscription : Juin 2007 Messages : 5 184 Points : 17 118 Points17 118
Mes principes de bases du codeur qui veut pouvoir dormir: - Une variable de moins est une source d'erreur en moins.
- Un pointeur de moins est une montagne d'erreurs en moins.
- Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
- jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
- La plus sotte des questions est celle qu'on ne pose pas.
Pour faire des graphes, essayez yEd.
le ter nel est le titre porté par un de mes personnages de jeu de rôle
tech lead c++ linux Inscrit enAoût 2004Messages4 262Détails du profil Informations personnelles : Sexe : Localisation : France, Ain (Rhône Alpes) Informations professionnelles :
Activité : tech lead c++ linux Informations forums :
Inscription : Août 2004 Messages : 4 262 Points : 6 680 Points6 680Billets dans le blog2
« L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
Spinoza Éthique III, Proposition VII
Second de cuisine Inscrit enAvril 2005Messages193Détails du profil Informations personnelles : Sexe : Localisation : France, Paris (Île de France) Informations professionnelles :
Activité : Second de cuisine Secteur : Alimentation Informations forums :
Inscription : Avril 2005 Messages : 193 Points : 97 Points97
Algorithm: non
Pour le find, ne t'inquietes pas, l'element EST dans la map, obligatoirement !
De plus, le handle est unique, c'est un numéro de socket !
Enfin, la struct map__ se trouve dans un namespace nommé correctement, donc aucun soucis de ce côté également !
Si je te demandais ça c'est parce que pour moi rien ne cloche dans ton code (en tout cas à part ce que moi et les autres avons déjà dit).
J'ai vérifié et je te confirme que tout va bien avec le code ci dessous. Du coup il ne reste que l'oubli d'inclure le header contenant la déclaration de std::find, ce qui explique le message 'call to undefined'
| Code : |
Sélectionner tout -
Visualiser dans une fenêtre à part |