Как правильно использовать inplace_merge ?
От: Korchy  
Дата: 25.06.10 10:37
Оценка:
Подскажите, пожалуйста, как правильно использовать inplace_merge для сложных объектов? Пробую так, получаю ошибку:
class Cls {
public:
int a1;
}

class Work {
public:
Work(void) {p = &Work::Comp;}

bool Comp(Cls* A1,Cls* A2) {return A1->a1 < A2->a1};

std::vector<Cls*> A;

typedef bool (Work::*p_type)(Cls*,Cls*);
p_type p;

void Add(*Cls C) {
   A.push_back(C);
   std::inplace_merge(A.begin(),A.end()-1,A.end(),p); // здесь получаю ошибку
}

}


текст ошибки:
error C2064: результатом вычисления фрагмента не является функция, принимающая 2 аргументов
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.