【发布时间】:2015-09-06 07:39:48
【问题描述】:
我正在尝试在另一个系统上编译我的旧 Qt 项目:Windows XP、Qt5、msvc 2010。
我的项目中使用了c++11 auto,pro文件中有一行CONFIG += c++11 .
for(auto e : mapTerm->keys())
{
mapTerm->insert(e, attrib.value(e).toString());
}
现在它无法识别 auto 循环并给出语法错误。
【问题讨论】:
-
MSVC 2010 对于 c++11 来说太旧了。
-
什么是自动循环?一些代码会很好......
-
您可以通过在项目设置中选择与 XP 兼容的工具集,在 Windows XP 中使用更高版本的 Visual C++(包括 Visual C++ 2015)。或者,您可以使用 Visual C++ 2010 非标准基于范围的循环(我记得语法有点不同),但我认为没有任何替代
auto的方法。所以你必须拼出类型,或者使用 Visual ++ 非标准替代decltype。
标签: c++ qt c++11 visual-c++