私はこのコードをコンパイルしようとしています:
#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
ですか?