我正在尝试编译这段代码:
#include <cmath>
double gravity (double level) {
return 0.02 * std::round(level);
}
但 GCC 告诉我:
error: 'round' is not a member of 'std'
我知道我之前在ISO C++98round
中多次使用过这个函数。不同寻常的是,两者都有效。round
::round
是什么赋予了?
更新:我正在编译g++ -std=c++98 -Wall -pedantic
。切换到std=c++0x
作品。
但是为什么不合格/匿名round
和::round
两者都工作,如果std::round
没有呢?