title: Passing a member function to for_each in C++03 (no boost, no c++11)
body: <p>The "solution" below compiles but it is not what I want. I would like to pass the <code>put</code> member function to <code>for_each</code> and not <code>*this</code>. Using boost is <strong>NOT</strong> an option. Can this be solved within C++03?</p>
  
  <pre><code>#include &lt;algorithm&gt;
  #include &lt;functional&gt;
  #include &lt;vector&gt;
  using namespace std;
  
  class Wheel { };
  
  class Car {
  
  public:
  
      void process(const vector&lt;Wheel&gt;&amp; wheel) {
  
          for_each(wheel.begin(), wheel.end(), *this);
      }
  
      void operator()(const Wheel&amp; w) { put(w); }
  
  private:
  
      void put(const Wheel&amp; w) { }
  };
  
  int main() {
  
      vector&lt;Wheel&gt; w(4);
  
      Car c;
  
      c.process(w);
  
      return 0;
  }
  </code></pre>