Анализатор обнаружил ситуацию, когда к символьному литералу прибавляется указатель. Скорее всего, это ошибка.
Например, к строке, имеющей тип 'const char*', программист хочет дописать символ:
const char* Foo() { return "Hello world!\n"; } int main() { const char* bar = 'g' + Foo(); printf("%s", bar); return 0; }
В этом случае произойдет прибавление к указателю числового значения символа 'g', в результате чего возможен выход за границы строки. Для исправления этой ошибки следует использовать, по возможности, специальный класс 'std::string' или производить операции с памятью:
const char* Foo() { return "Hello world!\n"; } int main() { std::string bar = 'g' + std::string(Foo()); printf("%s", bar.c_str()); return 0; }
Данная диагностика классифицируется как: