title: Member function, unable to deduce ‘auto’
body: <p>I'm wondering if it's possible in c++ to get pure function pointer from member function of an object.</p>
  
  <pre><code>class AS
  {
      int x;
  public:
      AS(int xx)
      {
          x = xx;
      }
  
      void ww(void* p)
      {
          std::cerr &lt;&lt; "AS::ww " &lt;&lt; x &lt;&lt; std::endl;
      }
  };
  
  void exp()
  {
      void* pp = 0;
      AS aa(9);
      ((aa).*(&amp;AS::ww))(pp);//compiles and work fine
      auto ff = ((aa).*(&amp;AS::ww));//not compiling
  }
  </code></pre>
  
  <p>I've tried just keeping the calling part:</p>
  
  <pre><code>    auto ff = ((aa).*(&amp;AS::ww));
  </code></pre>
  
  <p>but this gives me <code>error: unable to deduce ‘auto’ from ‘aa.*&amp;AS::ww’</code></p>
  
  <p>so why is that? It has no type?</p>
  
  <p>How do you call one who has no type?</p>