【问题标题】:Qt5 msvc 2010 do not recognize auto (c++11) [duplicate]Qt5 msvc 2010不识别自动(c ++ 11)[重复]
【发布时间】:2015-09-06 07:39:48
【问题描述】:

我正在尝试在另一个系统上编译我的旧 Qt 项目:Windows XP、Qt5、msvc 2010。

我的项目中使用了c++11 autopro文件中有一行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++


【解决方案1】:

您需要确保您使用的是正确的 C++ 编译器并且它是 C++11+。

如果您使用的是 msvc 并且使用的是正确的版本,那么这应该是一个内置功能。

【讨论】:

    猜你喜欢
    • 2012-08-15
    • 1970-01-01
    • 2014-01-21
    • 2012-12-14
    • 1970-01-01
    • 2010-11-01
    • 1970-01-01
    • 2012-06-19
    • 1970-01-01
    相关资源
    最近更新 更多