【问题标题】:How to change C++98 mode in DEV C++ to C++17 mode that supports range based for loops?如何将 DEV C++ 中的 C++98 模式更改为支持基于范围的 for 循环的 C++17 模式?
【发布时间】:2020-11-28 17:45:24
【问题描述】:

我已经使用基于范围的 for 循环很长一段时间了。我通过从 this way 更改我的 Dev C++ 编译器的设置来做到这一点。但是这个编译器不支持 c++ 17 的新功能。像

for (auto&& [first,second] : mymap) {
    // use first and second
}

有什么方法可以更改设置或下载一些额外的文件以支持我的编译器中基于范围的 for 循环?

我的设置:

WINDOWS 10

版本 - Dev c++ 5.11

编译器 - TDM-GCC 4.6.1 64 位。

【问题讨论】:

  • Version - Dev c++ 5.11 -- 不重要。重要的是用于编译代码的实际编译器。我很确定g++ 4.x 版太旧了,无法支持这些功能。 See thisthis
  • GCC 4.x 支持 C++11。 for (auto&& [first,second] : mymap) 是结构化绑定,在 C++14 中引入。更新你的编译器:jmeubank.github.io/tdm-gcc/download
  • 您应该考虑切换到不同的 IDE。最新版本是 2015 年 4 月 27 日的 5.11。即使您可以更新编译器并构建您的项目,语法突出显示也可能不适用于新功能。
  • 选择不同的 ide。 Dev c++ 显然已经过时了。我们在现代世界的 gcc 10 上。

标签: c++ dev-c++ range-based-loop


【解决方案1】:

你需要更新你的编译器来安装gcc9.2(c++ 17编译器),you can follow this link

【讨论】:

    猜你喜欢
    • 2020-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-04
    • 2017-05-03
    相关资源
    最近更新 更多