V3509. AUTOSAR. Unions should not be used.
Данное диагностическое правило основано на руководстве AUTOSAR (AUTomotive Open System ARchitecture) по разработке программного обеспечения.
Анализатор выдаст предупреждение, если обнаружит объявление объединения.
Неправильное использование объединений может приводить к различным проблемам, например, к получению неверных значений или к возникновению неопределённого поведения.
Например, неопределённое поведение может возникнуть, когда значение считывается не из члена, в который производилась запись в последний раз.
Пример кода, на который анализатор выдаст предупреждение:
union U
{
unsigned char uch;
unsigned int ui;
} uni;
....
uni.uch = 'w';
int ui = uni.ui;
Данная диагностика классифицируется как:
|