Я пытаюсь скомпилировать этот код:
#include <cmath>
double gravity (double level) {
return 0.02 * std::round(level);
}
Но GCC говорит мне:
error: 'round' is not a member of 'std'
Я знаю, что раньше я использовал функцию round в ISO С++ 98. Необычно, round и ::round работают.
Что дает?
Обновление: я компилировался с помощью g++ -std=c++98 -Wall -pedantic.
Переход на std=c++0x работает.
Но почему работают неквалифицированные/анонимные round и ::round, если std::round не работает?