﻿# V643\. Suspicious pointer arithmetic\. Value of 'char' type is added to a string pointer\.

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

Как правило, такая ошибка возникает в случае попытки объединения строкового литерала с символом\.

Рассмотрим простейший пример некорректного кода:

```cpp
std::string S = "abcd" + 'x';
```

Ожидалось, что будет получена строка "abcdx", однако в данном случае к указателю на строку "abcd" будет прибавлено значение 120\. Это гарантировано приведет к выходу за границу строкового литерала\. Для предотвращения такой ситуации, следует избегать подобных арифметических операций со строковыми и символьными переменными\.

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

```cpp
std::string S = std::string("abcd") + 'x';
```