Я пытаюсь скомпилировать этот код:
#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
не работает?