I'm trying to build googletest with Visual C++ 11, but following code causes an error
template <typename T1, typename T2, typename T3, typename T4, typename T5,
typename T6, typename T7, typename T8, typename T9>
void PrintTo(const ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9>& t, // <-- error C2977
::std::ostream* os) {
PrintTupleTo(t, os);
}
That's an error text:
f:gtest-1.6.0includegtestgtest-printers.h(550): error C2977: 'std::tuple' : too many template arguments
c:program files (x86)microsoft visual studio 11.0vcincludeutility(72) : see declaration of 'std::tuple'
And there is the line 72 of utility
-file:
template<class = _Nil, _MAX_CLASS_LIST>
class tuple; // Line 72
What is the problem with std::tuple
and how to fix it?
(BTW: I'm tried unsuccessfully to change std::tr1::tuple
to std::tuple
)
question from:
https://stackoverflow.com/questions/8274588/c2977-stdtuple-too-many-template-arguments-msvc11 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…