﻿# V528\. Pointer is compared with 'zero' value\. Probably meant: \*ptr \!\= zero\.

Подобная ошибка возникает в двух схожих ситуациях\.

1\) Анализатор обнаружил потенциально возможною ошибку, связанную с тем, что указатель на тип bool сравнивается со значением false\. Высока вероятность, что забыта операция разыменования указателя\. Пример:

```cpp
bool *pState;
...
if (pState != false)
...
```

В данном коде забыт оператор '\*'\. И получается, что мы сравниваем значение указателя pState с нулевым указателем nullptr\. Корректный вариант кода:

```cpp
bool *pState;
...
if (*pState != false)
...
```

2\) Анализатор обнаружил потенциально возможною ошибку, связанную с тем, что указатель на тип char/wchar\_t сравнивается со значением '\\0' или L'\\0'\. Высока вероятность, что забыта операция разыменования указателя\. Пример:

```cpp
char *cp;
...
if (cp != '\0')
```

Корректный вариант:

```cpp
char *cp;
...
if (*cp != '\0')
```