How to compile a C++ 11 code by gcc?
c++
gcc
Software and digital electronics / Coding
2022-12-26 23:55
My code
I have written the following C++11 code:
main.cpp
#include <iostream>
using std::cout;
using std::endl;
int main()
{
for(int x : {2,3,5,7,11,13})
{
cout << x << endl;
}
return 0;
}
Compilation error
When I compile my code using gcc I face with an error:
g++ main.cpp
The error message is
error: deducing from brace-enclosed initializer list requires '#include <initializer_list>'
How should I fix it?
add comment
Answered by robin
2022-12-31 04:31
Solution
You need to enable c++11 settings:
g++ -std=c++11 main.cpp
This helps your code compiles with no error.
Problem background
In the recent versions of gcc, it follows c++11 standard by default.
You might be using an old version of gcc.
Try
g++ --version
to know your gcc version.
add comment