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