I'm try to compile this code:
#include <cmath>
double gravity (double level) {
return 0.02 * std::round(level);
}
But GCC is telling me:
error: 'round' is not a member of 'std'
I know I've used the round
function many times in ISO C++98 before. Unusually, round
and ::round
both work.
What gives?
Update: I was compiling with g++ -std=c++98 -Wall -pedantic
.
Switching to std=c++0x
works.
But why do the unqualified/anonymous round
and ::round
both work if std::round
doesn't?