C++ 0x:是否允许元组元组?

Tom*_*a17 8 c++ tuples visual-studio visual-c++ c++11

我目前正在开发一个有很多模板的类,能够构建元组元组会让它变得容易多了

但我在MSVC++ 2010中尝试了这个简单的代码:

#include <tuple>

void main() {
     auto x = std::make_tuple(std::make_tuple(5, true));
}
Run Code Online (Sandbox Code Playgroud)

我收到编译错误.如果我不使用std :: make_tuple但直接使用std :: tuple的构造函数,则会出现同样的问题

它是MSVC的错误还是标准不允许的元组元组?

谢谢

Jam*_*lis 4

更多数据点:

  • 如果我们使用std::tr1::tuple并显式声明类型而不是使用auto,则 Visual C++ 2008 编译代码时不会出现错误。尝试使用 Visual C++ 2010 编译相同的代码会导致您看到的错误。

  • 如果我们使用boost::tuple显式声明类型而不是使用auto,则 Visual C++ 2008 和 Visual C++ 2010 都会编译代码而不会出现错误。

看起来这可能是一个实现错误。