title: Can C++11 decltype be used to create a typedef for function pointer from an existing function?
body: <p>Given</p>
  
  <pre><code>struct A { 
      int foo(double a, std::string&amp; b) const;
  };
  </code></pre>
  
  <p>I can create a member function pointer like this:</p>
  
  <pre><code>typedef int (A::*PFN_FOO)(double, std::string&amp;) const;
  </code></pre>
  
  <p>Easy enough, except that <code>PFN_FOO</code> needs to be updated if <code>A::foo</code>'s signature changes. Since C++11 introduces <code>decltype</code>, could it be used to automatically deduce the signature and create the typedef?</p>