V2532. MISRA. String literal should not be assigned to object unless it has type of pointer to const-qualified char.
Данное диагностическое правило основано на руководстве MISRA (Motor Industry Software Reliability Association) по разработке программного обеспечения.
Анализатор обнаружил неявное снятие константности с строкового литерала. Так как любая попытка изменить строковый литерал приводит к неопределенному поведению, его следует присваивать лишь к объектам типа указателя на константный символ (pointer to const-qualified char).
Это правило также актуально для широкого строкового литерала.
Пример кода, на который анализатор выдаст предупреждение:
char* Foo(void)
{
return "Hello, world!";
}
При модификации строкового литерала анализатор также выдает предупреждение:
"first"[1] = 'c';
Данная диагностика классифицируется как:
|