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的错误还是标准不允许的元组元组?
谢谢
更多数据点:
如果我们使用std::tr1::tuple并显式声明类型而不是使用auto,则 Visual C++ 2008 编译代码时不会出现错误。尝试使用 Visual C++ 2010 编译相同的代码会导致您看到的错误。
如果我们使用boost::tuple显式声明类型而不是使用auto,则 Visual C++ 2008 和 Visual C++ 2010 都会编译代码而不会出现错误。
看起来这可能是一个实现错误。