Передача функции-члена в for_each в C ++ 03 (без повышения, без C ++ 11)

Приведенное ниже "решение" компилируется, но это не то, что мне нужно. Я хотел бы передать функцию-член 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;
}
5
задан sashoalm 28 January 2015 в 11:20
поделиться