Re[2]: std::set + std::pair operator< - переопределение
От: Centaur Россия  
Дата: 14.08.06 09:24
Оценка:
Здравствуйте, LuckLess, Вы писали:

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;


LL>Для того, чтобы std::set воспользовался твоим оператором < тебе надо перегрузить std::less<range_t>, так — чтобы тот звал твой оператор.


Этого нельзя делать, потому что стандартные шаблоны можно специализировать только для пользовательских типов, а range_t таковым не является — он всего лишь псевдоним для стандартного же std::pair<int, int>.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.