Mem_fun и bind1st проблема
У меня следующий класс:
class A {
public:
// ctr and etc ...
A* clone(B* container);
};
Теперь у меня естьvector<A*> availableObjs
заселены уже. Я хочу позвонитьclone
на каждом из них, так и вставьте клонированные объекты в новый контейнерclonedObjs
типаvector<A*>
, Я пытаюсь следовать - но это не компилируется:
transform(availableObjs.begin(), availableObjs.end(), back_inserter(clonedObjs),
bind1st(mem_fun(&A::clone), container)); // container is of type B*
Есть ли легкий выход? Я во многом классифицировался как A - поэтому сделать каждого из них функтором - слишком сложная задача.