Код такой
const double PI = 4.0 * atan(1.0);
gcc на него ругается (предупреждением), но все же компилит. Watcom ругается и не компилит. Основная идея его использования: вычислить выражение раз при запуске программы, а потом запретить его изменение.
PS. Естественно, в начале файла стоит #include <math.h>
Использовать вот так
#define PI (4.0 * atan(1.0))
плохо, т.к. будет вычисляться функция каждый раз при использовании константы.
Кто знает, на сколько это корректно?