operator < в STL set
От: _sden  
Дата: 16.07.03 09:35
Оценка:
Помогите плиз никак не могу разобраться
Есть такой класс
class CUSqlItem
{
public:
CUSqlItem();
CUSqlItem(CUSqlItem& source);
virtual ~CUSqlItem();

public:
bool operator < (CUSqlItem& source);
public:
bool GetString(CString& retVal);
bool Create(CString sField, CString sValue);
bool Create(CString sField, int iValue);
bool Create(CString sField, double dValue);

private:
CString m_sField;
CUSqlValue m_Value;
};

и соответственно реализация операторов и функций тоже есть!

делаю так
typedef set <CUSqlItem> SET_SQL_ITEMS;
SET_SQL_ITEMS m_aItems;


{
CUSqlItem item;
if(!item.Create(sField, sValue))
return false;

m_aItems.insert(item);
return true;
}


компилятор выдает ошибку
c:\program files\microsoft visual studio\vc98\include\functional(86) : error C2678: binary '<' : no operator defined which takes a left-hand operand of type 'const class CUSqlItem' (or there is no acceptable conversion)
c:\program files\microsoft visual studio\vc98\include\functional(86) : while compiling class-template member function 'bool __thiscall std::less<class CUSqlItem>::operator ()(const class CUSqlItem &,const class CUSqlItem &) const'

Может подскажите ???
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.