-ansi即使带有and-pedantic标志,这个程序在 GCC 下编译是否有充分的理由?
#include <cmath>
int main (int argc, char *argv [])
{
double x = 0.5;
return static_cast<int>(round(x));
}
这编译干净(甚至没有警告)与g++ -ansi -pedantic -Wall test.cpp -o test.
我看到两个问题:
round()不应该在符合 ISO 标准的模式下对 C++ 可用(因为它来自 C99)- 即使
round()在这种情况下可用,也只能来自std命名空间
我错了吗?