C++ 错误:无法推断';自动';类型(需要初始值设定项)

C++ 错误:无法推断';自动';类型(需要初始值设定项),c++,C++,当我使用g++编译该项目时,它正在工作,但当涉及到visual studio时,它显示一个错误错误:无法推断“自动”类型(需要初始值设定项) 代码: Visual Studio 2010不支持基于范围的for循环,但它支持auto,因此您可以执行以下操作: for (auto i = data.begin(); i != data.end(); ++i) { ... } 但请注意,有了它,您就有了一个迭代器,而不是基于范围的for循环的元素。所以您需要取消对它的引用,即i->first

当我使用g++编译该项目时,它正在工作,但当涉及到visual studio时,它显示一个错误错误:无法推断“自动”类型(需要初始值设定项)

代码:


Visual Studio 2010不支持基于范围的for循环,但它支持
auto
,因此您可以执行以下操作:

for (auto i = data.begin(); i != data.end(); ++i)
{
    ...
}

但请注意,有了它,您就有了一个迭代器,而不是基于范围的for循环的元素。所以您需要取消对它的引用,即
i->first
,和
i->second

检查VS coompiler版本是否支持C++11?我该怎么做?我是新使用VS软件的人你有什么版本?@BenjaminLindley 2010版本不支持基于范围的for循环。你有什么理由不能得到更新的版本吗?
 for (const auto& entry : data)
for (auto i = data.begin(); i != data.end(); ++i)
{
    ...
}