почему-то этот код выдает ошибку
// 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 );
}
Устав if выдает ошибку. Это действительно не так сложно, и я думаю, я справлюсь с этим. Итак ... roomlist - это карта, roomno - целое число, а rinventory - карта
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
};
Заранее спасибо! Я добавлю ошибки, которые я получу ниже (их две)
c: \ ucdhb2 \ gaia \ logonserver \ v6 \ gaiaserver.cpp (812): ошибка C2679:
бинарный '=': не найден оператор, который принимает правый операнд
тип 'std :: _ Tree <_Traits> :: iterator' (или нет приемлемого
преобразование) 1> с 1> [1>
_Traits = std :: _ Tmap_traits, std :: allocator>, false> 1>] 1> c: \ program
файлы \ microsoft visual studio 9.0 \ vc \ include \ xtree (498): может быть
«Станд :: _ Tree <_Traits> :: итератор
& std :: _ Tree <_Traits> :: iterator :: operator = (const
std :: _ Tree <_Traits> :: iterator &) '1> с 1> [1>
_Traits = std :: _ Tmap_traits, std :: allocator>, false> 1>] 1> при попытке сопоставить
список аргументов '(std :: _ Tree <_Traits> :: iterator,
std :: _ Tree <_Traits> :: iterator) '1> с 1> [1>
_Traits = std :: _ Tmap_traits, std :: allocator>, false> 1>] 1> и 1> [1>
_Traits = std :: _ Tmap_traits, std :: allocator>, false> 1>]
1> c: \ ucdhb2 \ gaia \ logonserver \ v6 \ gaiaserver.cpp (812): ошибка C2678:
двоичный '! =': не найден оператор, который принимает левый операнд
тип 'std :: _ Tree <_Traits> :: iterator' (или нет приемлемого
преобразование) 1> с 1> [1>
_Traits = std :: _ Tmap_traits, std :: allocator>, false> 1>] 1> c: \ program files \ microsoft
sdks \ windows \ v6.0a \ include \ guiddef.h (197): может быть оператором int
! = (const GUID &, const GUID &) '1> c: \ program files \ microsoft
Visual Studio 9.0 \ vc \ include \ xtree (314): или 'bool
std :: _ Tree <_Traits> :: const_iterator :: operator! = (const
std :: _ Tree <_Traits> :: const_iterator &) const '1> с 1>
[1>
_Traits = std :: _ Tmap_traits, std :: allocator>, false> 1>] 1> при попытке сопоставить
список аргументов '(std :: _ Tree <_Traits> :: iterator,
std :: _ Tree <_Traits> :: iterator) '1> с 1> [1>
_Traits = std :: _ Tmap_traits, std :: allocator>, false> 1>] 1> и 1> [1>
_Traits = std :: _ Tmap_traits, std :: allocator>, false> 1>]