﻿# V769\. The pointer in the expression equals nullptr\. The resulting value is meaningless and should not be used\.

Анализатор обнаружил подозрительную операцию, применяемую к нулевому указателю\. Полученный указатель не имеет смысла\. Скорее всего, это свидетельствует о наличии ошибки в логике программы\.

Пример:

```cpp
void foo(bool isEmpty, char *str)
{
  char *begin = isEmpty ? str : nullptr;
  char *end = begin + strlen(str);
  ....
}
```

Если указатель `begin` равен `nullptr`, то выражение `nullptr + len` не имеет смысла: использовать его всё равно нельзя\. Возможно, переменная дальше не используется\. Тогда стоит провести рефакторинг кода таким образом, чтобы данная операция не осуществлялась над нулевым указателем: это потенциальный источник ошибок, если кто\-то об этом забудет и попытается обратиться по указателю\.

Исправленный вариант:

```cpp
void foo(bool isEmpty, char *str)
{
  char *begin = isEmpty ? str : nullptr;
  if (begin != nullptr)
  {
    char *end = begin + strlen(str);
    ....
  }
  ....
}
```