Pull to refresh

Comments 11

Однажды гулял в Celestia между галактиками и реально (хоть и не на долго) испугался, когда понял, что не помню как вернуться в родной Млечный путь
Серьезная заявка на навигатора! Я от Денеба смог вернуться с пятого раза.
V624 The constant 3.14159265 is being utilized. The resulting value could be inaccurate. Consider using the M_PI constant from <math.h>


Вот только в стандарте С и С++ нет такой константы.
stackoverflow.com/questions/1727881/how-to-use-the-pi-constant-in-c

Есть много нестандартных расширений в разных компиляторах, но я бы не стал рекомендовать это вот так, без кучи оговорок.
Ну я бы сказал что
#include <cmath>
и
M_PI
всё равно лучше чем вручную вбивать значение. Рано или поздно ошибётесь
Это точно лучше, если M_PI будет по стандарту в этом заголовочном файле.
Дело то в том, что никто не гарантирует, что на вашей платформе с вашим компилятором эта константа есть.
Может быть, нужно хитрый дефайн определить, может быть вообще нету ее там.
Так что давать такие советы как V624 нужно очень осторожно.
К предупреждению 1:
Правильный вариант, скорее всего, такой:
if (a.nAttributes < b.nAttributes)
  return true;
if (b.nAttributes > a.nAttributes)
  return false;

Всё же правильный вариант, скорее всего, такой:
if (a.nAttributes < b.nAttributes)
  return true;
if (b.nAttributes < a.nAttributes)
  return false;

А на первый предложенный вариант анализатор тоже должен бы сработать. Попробуйте проверить.
У Вас закешировалась страница. Эта опечатка была исправлена в 9:33.
Про кэш — возможно, обновлял только комментарии, а не страницу целиком.
Но вопрос про анализатор: среагирует ли на такую опечатку, определив return false как unreachable, либо каким-нибудь иным образом?
Да, это достаточно простой случай для детектирования.
Sign up to leave a comment.