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