title: Specialize a template class with a member function pointer
body: <p>I'm working with VS 2008 (sorry, can't update). I need template specialization for my list class. The argument I want to specialize is a member function pointer.</p>
  
  <p>In short, how can I make the following code work (I can' use variadic templates):</p>
  
  <pre><code>// two or three args
  template &lt;typename T1, typename T2, void (T1::* FUNC)(const T2&amp;) = 0&gt; struct list;
  // specialized code for 2 args.
  template &lt;typename T1, typename T2&gt; struct list&lt;T1, T2&gt; { };
  </code></pre>
  
  <p>The error message is:</p>
  
  <blockquote>
    <p>C2754: 'specialization' : a partial specialization cannot have a dependent non-type template parameter</p>
  </blockquote>
  
  <p>Maybe there is no solution for my problem. But that also an answer.</p>
  
  <p>Thanks for your help in advance.</p>