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

Code contains a construct comparing a non\-null pointer to a function with null\. It is most probably that there is a misprint in code – parentheses are missing\.

Consider this example:

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

The condition "Foo \=\= 0" is meaningless\. The address of the 'Foo' function never equals zero, so the comparison result will always be 'false'\. In the code we consider, the programmer missed parentheses by accident\. This is the correct version of the code:

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

If there is an explicit taking of address, the code is considered correct\. For example:

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