31

我只是在学习如何编写基于范围的 for 循环,但唯一的问题是我的编译器 Orwell Dev-C++ 在其默认模式(即 c++98)下似乎不支持它。如何将此模式更改为另一种支持此功能(以及 C++0x 的其他功能)的模式。谢谢。还:

这是错误消息:[Error] range-based-for loops are not allowed in C++98 mode

我运行 Windows 8

我拥有的 Dev C++ 版本是 5.3.0.3

编译器是 TDM-GCC 4.6.1 64 位。

谢谢大家

4

7 回答 7

63

转到工具 -> 编译器选项 -> “编译器”选项卡

选中标记为“调用编译器时添加以下命令”的复选框,并在文本输入框中添加“ -std=c++11 ”或者如果这不起作用“ -std=C++0x

反正应该是这样的,我已经很多年没有安装Dev C++了,所以我不得不看一些谷歌上的截图来记住。

于 2013-06-05T23:41:48.877 回答
9
  1. 从以下链接下载 http://orwelldevcpp.blogspot.in/2015/04/dev-c-511-released.html

  2. 转到工具->编译器选项->程序

并添加-std=c++11

看图片

在此处输入图像描述

于 2017-02-24T19:55:19.033 回答
7

在 Dev C++ 5.2.0.3 中,只需转到工具->编译器选项->设置->代码生成并将语言标准 (-std)设置为ISO C++11

于 2017-04-24T12:04:41.680 回答
5

默认情况下,不启用对最新版本 C++ 的支持。应通过以下方式显式启用它:在此处输入图像描述

在这里,选择“设置”选项卡,并在其中选择“代码生成”选项卡。在那里,在“语言标准(-std)”中选择“ISO C++ 11”:

在此处输入图像描述

好的。您现在已准备好编译 C++11!

于 2020-05-11T20:58:55.010 回答
0

在 Code::Blocks 中面临同样的问题。要解决此问题,请在 Build Options->Compiler Flags 中勾选“让 g++ 遵循 c++11 ISO C++ 语言标准 [-std=c++11]”框

于 2013-08-16T01:22:48.267 回答
0

在 Dev-C++ 5.11 中,新选项卡中出现如下错误:

此文件需要对 ISO C++ 2011 标准的编译器和库支持。此支持目前是实验性的,必须使用-std=c++11or-std=gnu++11编译器选项启用。

为此,您必须遵循四个简单的步骤:

  1. 转到工具选项卡
  2. 选择编译器选项..
  3. 转到常规选项卡
  4. 选中名为“调用编译器时添加以下命令”的复选框,编写此语句-std=c++11,然后按 OK

结论:错误已消除

于 2018-05-24T03:45:52.830 回答
0

测试:Dev-C++ 5.11


如果您想使用 c 而不是 c++ 进行编码并且遇到此问题,请执行以下步骤:

  1. 工具 > 编译器选项 > 设置选项卡 > 代码生成
  2. “语言标准(-std)”设置为“ISO C99”

尽管它现在对您有用,但您仍然会收到警告。

于 2021-01-08T10:20:50.727 回答