Почему GCC позволяет использовать round () в C ++ даже с флагами ansi и pedantic?
Есть ли веская причина, почему эта программа компилируется в GCC даже с-ansi
а также-pedantic
флаги?
#include
int main (int argc, char *argv [])
{
double x = 0.5;
return static_cast(round(x));
}
Это компилирует чистый (без предупреждений, даже) с.g++ -ansi -pedantic -Wall test.cpp -o test
Я вижу две проблемы:
round()
не должен»быть доступным для C ++ в ISO-совместимом режиме (так как это происходит из C99)Даже еслиround()
были доступны в этом случае, это должно быть только изstd
Пространство именЯ ошибся?