﻿# V516\. Non\-null function pointer is compared to null\. Consider inspecting the expression\.

В коде имеется конструкция сравнения ненулевого указателя на функцию с нулем\. Скорее всего, это означает, что в коде присутствует опечатка \- забыты круглые скобки\.

Рассмотрим пример:

```cpp
int Foo();
void Use()
{
  if (Foo == 0)
  {
    //...
  }
}
```

Условие "Foo \=\= 0" не имеет смысла\. Адрес функции 'Foo' всегда не равен нулю, а следовательно результатом сравнение всегда будет значение 'false'\. В рассматриваемом коде случайно пропущены круглые скобки\. Корректный вариант кода:

```cpp
if (Foo() == 0)
{
  //...
}
```

Если в коде явно написано взятие адреса функции, то такой код считается корректным\. Пример:

```cpp
int Foo();
void Use()
{
  if (&Foo != NULL)
    //...
}
```