MISRA C++:2008 Rule 2-10-4
A class, union or enum name (including qualification, if any) shall be a unique identifier
Description
Rule Definition
A class, union or enum name (including qualification, if any) shall be a unique identifier.1
Rationale
Using nonunique identifiers makes the code confusing and difficult to maintain. You might use the wrong identifier in your code and introduce bugs that are difficult to fix.
Polyspace Implementation
The rule flags identifier declarations where the identifier name is the same as a previously declared class, union or typedef name. The checker does not flag situations where the conflicting names occur in different namespaces.
Troubleshooting
If you expect a rule violation but Polyspace® does not report it, see Diagnose Why Coding Standard Violations Do Not Appear as Expected.
Examples
Check Information
Group: Lexical Conventions |
Category: Required |
Version History
Introduced in R2013b
1 All MISRA coding rules and directives are © Copyright The MISRA Consortium Limited 2021.
The MISRA coding standards referenced in the Polyspace Bug Finder™ documentation are from the following MISRA standards:
MISRA C:2004
MISRA C:2012
MISRA C:2023
MISRA C++:2008
MISRA C++:2023
MISRA and MISRA C are registered trademarks of The MISRA Consortium Limited 2021.