title: Pointer-to-member as template parameter deduction
body: <p>I want to get pointer-to-member as template parameter to the foo1. Here is code:</p>
  
  <pre><code>struct baz{
      int qux;
  };
  
  template&lt;typename C, typename T, T C::*m&gt;
  struct foo1{};
  
  template&lt;typename C, typename T&gt;
  void barr2(T C::*m){
  }
  
  template&lt;typename C, typename T&gt;
  void barr1(T C::*m){
      barr2(m); // ok
      foo1&lt;C, T, &amp;baz::qux&gt; _; // ok
      foo1&lt;C, T, m&gt; f; // g++4.6.1 error here; how to pass 'm' correctly ?
  }
  
  int main(){
      barr1(&amp;baz::qux);
  }
  </code></pre>
  
  <p>So how it should look like?</p>