Здравствуйте, Какая разница, Вы писали:
КР>Здравствуйте, Pavel515, Вы писали:
P>>Привет Всем!
P>>"Я еще не волшебник, а только учусь!"
P>>наверное что-то не понимаю!
P>>вот такой код:
P>>typedef pair<int,int> range_t;
P>>bool operator<(const range_t& A,const range_t& B){return (A.first<B.first)&&(A.second<B.second)&&(A.second<B.first);};
P>>typedef set<range_t> ranges_t;
P>>мой оператор "<" остается за бортом! ваполняется стандартный из <utility>
P>>#include <utility>
P>>template<class _T1, class _T2> inline
P>> bool __cdecl operator<(const pair<_T1, _T2>& _X,
P>> const pair<_T1, _T2>& _Y)
P>> {return (_X.first < _Y.first ||
P>> !(_Y.first < _X.first) && _X.second < _Y.second); }
P>>как переопределить оператор "<" для типа range_t
P>>C уважением, Павел.
КР>Надеюсь конструируеш set и задаеш предикат сравнения
КР>КР>explicit set(const Pred& comp = Pred(), const A& al = A());
КР>
Нет, а как?
Наверное надо описать функцию:
bool Pred(const ranges_t& A,const ranges_t B){return (A.first<B.first)&&(A.second<B.second)&&(A.second<B.first);};
а потом
ranges_t ranges( и как-то передать туда этот Pred?)
документации 0! в MSDN примеры им-бы такие примеры! книжка еще не пришла! а работать надо!
С уважением, Павел.
Если хочешь выиграть в лотерею, то купи, хотя-бы лотерейный билет. (В.Мэгре)