Open
Description
Affected rules
A12-1-1
:cpp/autosar/explicit-constructor-base-class-initialization
Rule A12-1-1 (required, implementation, automated)
Constructors shall explicitly initialize all virtual base classes, all direct
non-virtual base classes and all non-static data members.
Description
Let an inherited class having two constructor a
and b
.
a
calls the base class constructor while b
calls a
.
A12-1-1
gets reported on b
because it does not call base class constructor directly (but it calls it transitively through a
)
Example
class BaseClass {
public:
BaseClass() noexcept = default;
};
class Class final : public BaseClass {
public:
Class(void) noexcept : BaseClass() {};
Class(bool) noexcept : Class() {}; // Triggers `A12-1-1`
};
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Triaged