pour quelque raison que ce code renvoie une erreurItère avec mon objet a cessé de travailler
// map<int, AnItem> roomlist;
// map<string, long> rinventory
map<int, AnItem>::iterator it;
for (it = roomlist[roomno].rinventory.beg/in(); it != roomlist[roomno].rinventory.end(); it++) {
if((*it).second.name == "Stock")
tmpitem.append(strmug);
}
Le si statment jette l'erreur. Ce n'est vraiment pas si complexe et je pense que je pourrais gérer cela. Alors ... roomlist est une carte, roomno est un entier et rinventory est une carte
class AnThing {
public:
AnThing(); // constructor
string name; // name reference
int gtid; // Thing ID
string lcname; // name in lowercase
string m_name;
};
class AnItem : public AnThing {
public:
ItemType m_type;
int imin;
int imax;
int ispeed;
long unsigned iprice;
unsigned int ecoin;
GAttributes m_attributes;
AnItem(); //Constructs an item with "invalid" values
int& Min(); // Returns the min attribute
int& Max(); // Returns the max attribute
int& Speed(); // Returns the speed attribute
};
Merci à l'avance! Je vais ajouter les erreurs que je reçois ci-dessous (il y en a deux)
c: \ ucdhb2 \ gaia \ logonserver \ v6 \ gaiaserver.cpp (812): erreur C2679: binaire '=': aucun opérateur trouvé qui prend un opérande droit de type 'std :: _ Arbre < _Traits> :: itérateur' (ou il n'y a pas de conversion acceptable ) 1> avec 1> [1>
_Traits = std :: _ Tmap_traits, std :: allocateur>, false> 1>] 1> c: \ program fichiers \ microsoft visual studio 9.0 \ vc \ include \ xtree (498): pourrait être 'std :: _ Arbre _Traits> :: iterator & std :: _ Arbre < _Traits> :: iterator :: operator = (const std :: _ Arborescence < _Traits> :: itérateur &) '1> avec 1> [1>
_Traits = std :: _ Tmap_traits, std :: allocateur>, false > 1>] 1> tout en essayant de correspondre à la liste '(std :: _ Arbre < _Traits> :: iterator, std :: _ Arbre < _Traits> :: iterator __gVirt_NP_NN_NNPS<__) l' argument 1> avec 1> [1>
_Traits = std :: _ Tmap_traits, std :: allocateur>, false> 1>] 1> et 1> [1>
_Traits = std :: _ Tmap_traits, std :: allocateur>, false> 1>] 1> c : \ ucdhb2 \ gaia \ logonserver \ v6 \ gaiaserver.cpp (812): erreur C2678: binaire '! =': aucun opérateur trouvé qui prend un opérande gauche de type 'std :: _ Arborescence < _Traits> :: itérateur' (ou il n'y a pas de conversion acceptable ) 1> avec 1> [1>
_Traits = std :: _ Tmap_traits, std :: allocateur>, false> 1> ] 1> c: \ program files \ microsoft sdks \ windows \ v6.0a \ include \ guiddef.h (197): pourrait être 'int opérateur ! = (Const GUID &, const GUID &)' 1> c: \ program files \ microsoft Visual Studio 9.0 \ vc \ include \ xtree (314): ou 'bool std :: _ Arborescence < _Traits> :: const_iterator :: operator!= (Const std :: _ Arbre < _Traits> :: const_iterator &) const » 1> avec 1>
[1>
_Traits = std :: _ Tmap_traits, std :: allocateur>, false> 1>] 1> tout en essayant de faire correspondre la liste des arguments '(std :: _ Arbre < _Traits> :: iterator, std :: _ Arbre < _Traits> :: iterator)' 1> avec 1> [1>
_Traits = std :: _ Tmap_traits , std :: allocateur>, false> 1>] 1> et 1> [1>
_Traits = std :: _ Tmap_traits, std :: allocateur>, false> 1>]
Quel est le type de 'roomlist' et' rinventory'? – Nawaz
carte liste de pièces; carte rinventory; –
Postez-les dans la question, avec la définition de 'AnItem'. – Nawaz