title: C++ typedef member function signature syntax
body: <p>I want to declare type definition for a member function signature. Global function typedefs look like this:</p>
  <pre><code>typedef int (function_signature)(int, int);
  typedef int (*function_pointer) (int, int);
  </code></pre>
  <p>But I'm not able to the same thing for a member function:</p>
  <pre><code>typedef int (foo::memberf_signature)(int, int);   // memberf_pointer is not a member of foo
  typedef int (foo::*memberf_pointer)(int, int);
  </code></pre>
  <p>It sounds logically to me, because <code>foo::</code> is the syntax to access a member in the class <code>foo</code>.</p>
  <p>How can I typedef just the signature?</p>