﻿# V1038\. It is suspicious that a char or string literal is added to a pointer\.

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

Например, к строке, имеющей тип 'const char\*', программист хочет дописать символ:

```cpp
const char* Foo()
{
  return "Hello world!\n";
}

int main()
{
  const char* bar = 'g' + Foo();
  printf("%s", bar);
  return 0;
}
```

В этом случае произойдет прибавление к указателю числового значения символа 'g', в результате чего возможен выход за границы строки\. Для исправления этой ошибки следует использовать, по возможности, специальный класс 'std::string' или производить операции с памятью:

```cpp
const char* Foo()
{
  return "Hello world!\n";
}

int main()
{
  std::string bar = 'g' + std::string(Foo());
  printf("%s", bar.c_str());
  return 0;
}
```