title: syntax variants for function pointer as non type template arg
body: <p>I want to use a function pointer as non type template parameter. I can do it with a predefined alias to the function pointer type with <code>typedef</code> or <code>using</code>. Is there any syntax for the template definition <em>without</em> a predefined type alias?</p>
  <pre><code>bool func(int a, int b) { return a==b; }
  
  //using FUNC_PTR_T = bool(*)(int,int); // OK
  typedef bool(*FUNC_PTR_T)(int,int); // also OK
  
  template &lt; FUNC_PTR_T ptr &gt;
  void Check()
  {
      std::cout &lt;&lt; ptr( 1,1 ) &lt;&lt; std::endl;
  }
  
  int main()
  {
      Check&lt;func&gt;();
  }
  </code></pre>
  <p>I want to write in in a single step like:</p>
  <pre><code>// this syntax did not compile...
  template &lt; bool(*)(int,int) ptr &gt;
  void Check() 
  {
      ptr(1,1);
  }
  
  </code></pre>
  <p>Can someone point me top a valid syntax for that?</p>