Unicorn with delicious cookie
Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top
>
>
>
V2532. MISRA. String literal should...
menu mobile close menu
Проверка проектов
Дополнительная информация
toggle menu Оглавление

V2532. MISRA. String literal should not be assigned to object unless it has type of pointer to const-qualified char.

20 Мар 2019

Данное диагностическое правило основано на руководстве MISRA (Motor Industry Software Reliability Association) по разработке программного обеспечения.

Анализатор обнаружил неявное снятие константности с строкового литерала. Так как любая попытка изменить строковый литерал приводит к неопределенному поведению, его следует присваивать лишь к объектам типа указателя на константный символ (pointer to const-qualified char).

Это правило также актуально для широкого строкового литерала.

Пример кода, на который анализатор выдаст предупреждение:

char* Foo(void)            
{
  return "Hello, world!";
}

При модификации строкового литерала анализатор также выдает предупреждение:

"first"[1] = 'c';

Данная диагностика классифицируется как:

  • MISRA-C-7.4