﻿# V2514\. MISRA\. Unions should not be used\.

Диагностическое правило основано на руководстве [MISRA](https://www.misra.org.uk/) \(Motor Industry Software Reliability Association\) по разработке программного обеспечения\.

Анализатор выдаст предупреждение, если обнаружит объявление объединения\.

Неправильное использование объединений может приводить к различным проблемам, например, к получению неверных значений или к возникновению неопределённого поведения\.

Например, в случае C\+\+, неопределённое поведение может возникнуть, когда значение считывается не из члена, в который производилась запись в последний раз\.

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

```cpp
union U
{
  unsigned char uch;
  unsigned int ui;
} uni;
....
uni.uch = 'w';
int ui = uni.ui;
```