== Why is this an issue?

It is possible in the same statement, to declare a user-defined type (``++class++``, ``++struct++``, ``++union++`` or ``++enum++``) followed by variable declarations of this type. But mixing more than one concern in a single statement is confusing for maintainers.


This rule raises an issue when a variable is declared at the end of a user-defined type declaration statement.


=== Noncompliant code example

[source,cpp]
----
struct Container { int size; } container; // Noncompliant
----


=== Compliant solution

[source,cpp]
----
struct Container { int size; };
Container container;
----


== Resources

* {cpp} Core Guidelines - https://github.com/isocpp/CppCoreGuidelines/blob/e49158a/CppCoreGuidelines.md#c7-dont-define-a-class-or-enum-and-declare-a-variable-of-its-type-in-the-same-statement[C.7: Don't define a class or enum and declare a variable of its type in the same statement]



ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

=== Message

Declare this variable in a separate statement.


=== Highlighting

variable name


'''
== Comments And Links
(visible only on this page)

=== on 17 Jun 2016, 16:43:47 Ann Campbell wrote:
\[~alban.auzeill] I've simplified the code samples. Please double-check me.

endif::env-github,rspecator-view[]
