I want to generate some random double numbers using default_random_engine and uniform_real_distribution in header random.
I use Eclipse for C/C++ & MinGW to build my project.
When I type std::default_random_engine in the editor, Eclipse prompts me that "Type 'std::default_random_engine' could not be resolved".
I have already configured my project to support C++11 features
Then I wrote a list initialized vector and a range for to test the support of the C++11, the code work fine.
vector<int> ivec = {1, 2, 3};
for (int i : ivec)
cout << i << " ";
cout << endl;
What's wrong with the "std::default_random_engine", what should I do to fix this?
UPDATE: It's been a long time since I posted the original answer and it has become outdated. I double-checked today (Mar 15, 2014): in Eclipse Kepler (Build id 20130614-0229) it is sufficient to
add under Project > Properties > C/C++ Build > Settings then on the Tool Settings tab GCC C++ Compiler > Miscellaneous the -std=c++11
flag,
then under Window > Preferences > C/C++ > Build > Settings on the Discovery tab chose CDT GCC Built-in Compiler Settings and add the -std=c++11
flag to Command to get compiler specs. On my machine it looks like this after the change:
${COMMAND} -E -P -v -dD -std=c++11 "${INPUTS}"
clean and rebuild both your project and your index (Project > C/C++ Index > Rebuild) as Eclipse tends to cache error messages and show them even though they are gone after changing the settings.
This works on my machine for sure. If it doesn't on yours, then you might want to give a shot to this: C++11 full support on Eclipse although I am neither sure about the correctness of this approach nor was it necessary to do it on my machine. As of March 7, 2014 users claim that it helped them whereas the above approach didn't.
The original post, now outdated:
It seems to be a false error from the IDE.
Click on the project properties, then C/C++ General > Code Analysis > Syntax and Semantic Errors and deselect Type cannot be resolved.
I also had to disable a bunch of other Syntax and Semantic Errors, such as Invalid arguments, Invalid overload, Symbol is not resolved, etc. in my own projects. These bogus errors come from Codan.
(You might have to add __GXX_EXPERIMENTAL_CXX0X__
to your defines / preprocessor macros, not sure about this one though.)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With