Приведенное ниже "решение" компилируется, но это не то, что мне нужно. Я хотел бы передать функцию-член put
функции for_each
, а не * this
. Использование ускорения НЕ вариант. Можно ли это решить в C ++ 03?
#include <algorithm>
#include <functional>
#include <vector>
using namespace std;
class Wheel { };
class Car {
public:
void process(const vector<Wheel>& wheel) {
for_each(wheel.begin(), wheel.end(), *this);
}
void operator()(const Wheel& w) { put(w); }
private:
void put(const Wheel& w) { }
};
int main() {
vector<Wheel> w(4);
Car c;
c.process(w);
return 0;
}