компилятор выдает ошибку
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'
s> Помогите плиз никак не могу разобраться s> Есть такой класс s> class CUSqlItem s> { s> public: s> bool operator < (const CUSqlItem& source); s> }; s> Может подскажите ???
Тебе же компилятор английским по белому говорит, что нужен константый объект
c:\program files\microsoft visual studio\vc98\include\xmemory(34) : error C2558: class 'CUSqlItem' : no copy constructor available
c:\program files\microsoft visual studio\vc98\include\xtree(583) : see reference to function template instantiation 'void __cdecl std::_Construct(class CUSqlItem *,const class CUSqlItem &)' being compiled
Это потому как теперь и конструктор копий ты должен поправить CSQLItem(const CSQLItem &) — кстати его стоит всегда с такой сигнатурой определять, есть некоторые хитрые ситуации когда это вообще обязательно.
Of course, the code must be complete enough to compile and link.
Здравствуйте, Lorenzo_LAMAS, Вы писали:
L_L>Это потому как теперь и конструктор копий ты должен поправить CSQLItem(const CSQLItem &) — кстати его стоит всегда с такой сигнатурой определять, есть некоторые хитрые ситуации когда это вообще обязательно.