title: C2977: 'std::tuple' : too many template arguments (MSVC11)
body: <p>I'm trying to build googletest with Visual C++ 11, but following code causes an error</p>
  
  <pre><code>template &lt;typename T1, typename T2, typename T3, typename T4, typename T5,
            typename T6, typename T7, typename T8, typename T9&gt;
  void PrintTo(const ::std::tr1::tuple&lt;T1, T2, T3, T4, T5, T6, T7, T8, T9&gt;&amp; t, // &lt;-- error C2977
               ::std::ostream* os) {
    PrintTupleTo(t, os);
  }
  </code></pre>
  
  <p>That's an error text:</p>
  
  <pre><code>f:\gtest-1.6.0\include\gtest\gtest-printers.h(550): error C2977: 'std::tuple' : too many template arguments
    c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(72) : see declaration of 'std::tuple'
  </code></pre>
  
  <p>And there is the line 72 of <code>utility</code>-file:</p>
  
  <pre><code>template&lt;class = _Nil, _MAX_CLASS_LIST&gt;
     class tuple; // Line 72
  </code></pre>
  
  <p>What is the problem with <code>std::tuple</code> and how to fix it?</p>
  
  <p>(BTW: I'm tried unsuccessfully to change <code>std::tr1::tuple</code> to <code>std::tuple</code> )</p>