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

This diagnostic rule is based on the software development guidelines developed by [MISRA](https://www.misra.org.uk/) \(Motor Industry Software Reliability Association\)\.

The analyzer issues the warning when it detects a union declaration\.

Incorrect use of unions may cause various problems, such as reading incorrect values or undefined behavior\.

For example, in C\+\+, undefined behavior occurs when attempting to read from a member other than the one that the latest write operation was performed on\.

Here is an example of code triggering this warning:

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