title: How to use a general function pointer as a template parameter?
body: <p>Is it possible to use a general function pointer as a template parameter? The function pointer  template can accept free functions, member functions, and lambda functions. For simplicity, assuming the functions has only one argument, like</p>
  
  <pre><code>template&lt;class ArgumentT, class ReturnT, function* f&gt;
  struct A
  {
     // f is used somewhere.
  };
  </code></pre>