== Why is this an issue?

The use of virtual base classes can introduce a number of undefined and potentially confusing behaviours. The use of virtual bases is not recommended.


=== Noncompliant code example

[source,cpp]
----
class B {};
class D: public virtual B {}; // Noncompliant, B is a virtual base
----


== Resources

* MISRA {cpp}:2008, 10-1-1 - Classes should not be derived from virtual bases.


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

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

=== Message

Refactor this "virtual" inheritance.


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

=== on 21 Oct 2014, 18:55:14 Ann Campbell wrote:
\[~samuel.mercier] 

* for SQALE, we go with the worst-possible outcome. Since this is an "undefined behaviors" rule, Maintainability is not the best fit
* this is likely a "bug"

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