I am just learning how to write range based for loops, but the only problem is that my compiler, Orwell Dev-C++ doesn't seem to support it in its default mode (which is c++98). How can I change this mode to another one that supports this feature (and other features of C++0x). Thanks. Also:
This was the error message: [Error] range-based-for loops are not allowed in C++98 mode
I run Windows 8
The version I have of Dev C++ is 5.3.0.3
And the compiler is TDM-GCC 4.6.1 64 bit.
Thanks to everyone
Go to Tools -> Compiler Options -> "Compiler" tab
Check the checkbox labeled, "Add the following commands when calling the compiler" And add in the text entry box, "-std=c++11" or if that doesn't work "-std=C++0x"
Should be something like that anyway, I haven't had Dev C++ installed for many years, so I had to look at some screenshots on Google to remember.
Download from the following link http://orwelldevcpp.blogspot.in/2015/04/dev-c-511-released.html
Go to Tools->Compiler Option->Programs
and add -std=c++11
see the image
In Dev C++ 5.2.0.3 it's as simple as go to Tools->Compiler Options->Settings->Code Generation and setting Language standard (-std) to ISO C++11
Was facing the same issue in Code::Blocks. to fix the problem, in Build Options->Compiler Flags, tick the box "Have g++ follow the c++11 ISO C++ language standard [-std=c++11]"
In Dev-C++ 5.11 an error comes in new tab like this:
This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the
-std=c++11
or-std=gnu++11
compiler options.
For this you have to follow four simple steps:
- Go to Tools Tab
- Select Compiler Options..
- Go to General tab
- Check the checkbox named "Add following commands when calling the compiler", write this statement
-std=c++11
, and then press OK
Conclusion: Error is removed
来源:https://stackoverflow.com/questions/16951376/how-to-change-mode-from-c98-mode-in-dev-c-to-a-mode-that-supports-c0x-ran