title: Difficulty using variadic template class member functions
body: <p>Difficulty using variadic template class member functions.  Pt is a simple struct</p>
  
  <pre><code>template&lt;unsigned char D&gt;  struct Pt
  {
    int d[D];
  };
  
  template&lt;class T, unsigned char D, unsigned char ... RestD&gt; class MArray
  {
  public:
  
     T&amp; operator()(const Pt&lt;D&gt;&amp; p, RestD... args)
     {
        return m_data[1]; // junk return until I get the args right
     }
     T* m_data;
  };
  </code></pre>
  
  <p>I keep getting with clang++</p>
  
  <pre><code>&gt;clang++ -std=c++11 variadicMArray.cpp
   variadicMArray.cpp:70:33: error: unknown type name 'RestD'
   T&amp; operator()(const Pt&lt;D&gt;&amp; p, RestD... args)
                                 ^
  </code></pre>
  
  <p>It won't recognize my RestD as a pattern.   I think I'm doing something rather simple wrong here.</p>