Potential Code Quality Issues
- 'long' floats are not allowed by the C++ standard
'long' floats are not allowed by the C++ standard.
- [[nodiscard]] cannot be applied to functions without a return value
[[nodiscard]] cannot be applied to functions without a return value.
- A function or a lambda with non-void return type should return a value
A function or a lambda with non-void return type should return a value.
- Abstract final class
Abstract final class.
- Adding cv-qualifiers to references has no effect
Adding cv-qualifiers to references has no effect.
- Assigned value is never used
Assigned value is never used.
- Backslash and newline are separated by space
Backslash and newline are separated by space.
- Binary operator acts on equal operands
Binary operator acts on equal operands.
- Binary operator acts on identical operands
Binary operator acts on identical operands.
- Binding r-value to l-value reference is non-standard Microsoft C++ extension
Binding r-value to l-value reference is non-standard Microsoft C++ extension.
- Call of deleted copy constructor elided during copy-initialization. This is non-standard Microsoft C++ extension.
Call of deleted copy constructor elided during copy-initialization.
- Call to a virtual function inside a constructor/destructor is resolved at compile time
Call to a virtual function inside a constructor/destructor is resolved at compile time.
- Call to a virtual function inside a constructor/destructor will result in a pure virtual function call
Call to a virtual function inside a constructor/destructor will result in a pure virtual function call.
- Casting from nullptr to pointer type with reinterpret_cast is non-standard Microsoft C++ extension
Casting from nullptr to pointer type with reinterpret_cast is non-standard Microsoft C++ extension.
- Class is abstract but not explicitly declared as such
Class is abstract but not explicitly declared as such.
- Class is never used
Class is never used.
- Class member function hiding a non-virtual function from a base class
Class member function hiding a non-virtual function from a base class.
- Class should have a user-defined constructor because of an uninitialized data member
Class should have a user-defined constructor because of an uninitialized data member.
- Comparison of unsigned expression with 0
Comparison of unsigned expression with 0.
- Concept is never used
Concept is never used.
- Declaration does not declare anything
Declaration does not declare anything.
- Declaration of a non-overriding virtual function in a final or sealed class
Declaration of a non-overriding virtual function in a final or sealed class.
- Declaration specifier with no declarators
Declaration specifier with no declarators.
- Declarator disambiguated as a function declaration
Declarator disambiguated as a function declaration.
- Declarator is never used
Declarator is never used.
- Declarator is only assigned but never accessed
Declarator is only assigned but never accessed.
- Declarator is reassigned in all paths before being read
Declarator is reassigned in all paths before being read.
- Declarator is used only in unevaluated context
Declarator is used only in unevaluated context.
- Default case is not handled in a switch statement
Default case is not handled in a switch statement.
- Defaulted special member function is implicitly deleted
Defaulted special member function is implicitly deleted.
- Deleting a void pointer
Deleting a void pointer.
- Dependent template without 'template' keyword
Dependent template without 'template' keyword.
- Dependent type without 'typename' keyword
Dependent type without 'typename' keyword.
- Deprecated 'register' storage class specifier
Deprecated 'register' storage class specifier.
- Dereference operator limit is exceeded
Dereference operator limit is exceeded.
- Entity is deprecated
Entity is deprecated.
- Enumerator is never used
Enumerator is never used.
- Expression can be simplified
Expression can be simplified.
- Expression that evaluates to zero is used as a null pointer constant
Expression that evaluates to zero is used as a null pointer constant.
- Forward enum declaration without underlying type
Forward enum declaration without underlying type.
- Function is not implemented
Function is not implemented.
- Function result should be used
Function result should be used.
- Hiding an uncaptured local declaration
Hiding an uncaptured local declaration.
- Hiding local declaration
Hiding local declaration.
- Implicit conversion to incompatible pointer type
Implicit conversion to incompatible pointer type.
- Implicit conversion to pointer type with loss of qualifiers
Implicit conversion to pointer type with loss of qualifiers.
- Implicit default constructor is not available
Implicit default constructor is not available.
- Implicit integer to pointer conversion
Implicit integer to pointer conversion.
- Implicit pointer to integer conversion
Implicit pointer to integer conversion.
- Incorrect format directive in boost::format
Incorrect format directive in boost::format.
- Incrementing expression of type bool
Incrementing expression of type bool.
- Invalid printf format specifier
Invalid printf format specifier.
- Keyword 'default' is used as identifier
Keyword 'default' is used as identifier.
- Lambda capture is never used
Lambda capture is never used.
- Local variable is never used, but may have side-effects in its destructor
Local variable is never used, but may have side-effects in its destructor.
- Local variable is used without being initialized
Local variable is used without being initialized.
- Local variable might not be initialized
Local variable might not be initialized.
- May be missing keyword 'throw'
May be missing keyword 'throw'.
- Method must be public and virtual to implement a C++/CLI interface member
Method must be public and virtual to implement a C++/CLI interface member.
- Mismatched class tags
Mismatched class tags.
- Missing a matching '#pragma endregion' directive
Missing a matching '#pragma endregion' directive.
- Missing a matching '#pragma region' directive
Missing a matching '#pragma region' directive.
- Missing function parameter description in a documentation comment
Missing function parameter description in a documentation comment.
- Missing include guard
Missing include guard.
- Module partition with several partition units
Module partition with several partition units.
- More than one implicit conversion applied during copy-initialization. This is non-standard Microsoft C++ extension.
More than one implicit conversion applied during copy-initialization.
- Multi-character character literal
Multi-character character literal.
- Multi-character wide character literal
Multi-character wide character literal.
- No return statement in a function or a lambda returning non-void
No return statement in a function or a lambda returning non-void.
- Non-inline function definition in a header file
Non-inline function definition in a header file.
- Non-inline variable definition in a header file
Non-inline variable definition in a header file.
- Non-safe resource acquisition
Non-safe resource acquisition.
- Non-static data member is uninitialized
Non-static data member is uninitialized.
- Non-virtual class member function hidden in a derived class
Non-virtual class member function hidden in a derived class.
- Not all control paths return a value
Not all control paths return a value.
- Not enough arguments in a call to boost::format
Not enough arguments in a call to boost::format.
- Not enough arguments in a call to printf
Not enough arguments in a call to printf.
- Not initialized static const local variable of scalar type. This is non-standard Microsoft C++ extension.
Not initialized static const local variable of scalar type.
- Object member might not be initialized
Object member might not be initialized.
- Outdated format directive in boost::format
Outdated format directive in boost::format.
- Overridden method is deprecated
Overridden method is deprecated.
- Override function redefines a default parameter argument
Override function redefines a default parameter argument.
- Parameter is always rewritten in function body before being read
Parameter is always rewritten in function body before being read.
- Parameter is never used
Parameter is never used.
- Parameter names do not match
Parameter names do not match.
- Polymorphic class with non-virtual public destructor
Polymorphic class with non-virtual public destructor.
- Positional and non-positional arguments in the same boost::format call
Positional and non-positional arguments in the same boost::format call.
- Possibly erroneous empty statement
Possibly erroneous empty statement.
- Possibly erroneous expression without side-effects
Possibly erroneous expression without side-effects.
- Possibly erroneous incomplete switch-statement
Possibly erroneous incomplete switch-statement.
- Possibly invalid printf format specifier
Possibly invalid printf format specifier.
- Possibly uninitialized class member
Possibly uninitialized class member.
- Possibly unintended incompatible reference type in range declaration
Possibly unintended incompatible reference type in range declaration.
- Possibly unintended object slicing
Possibly unintended object slicing.
- Possibly unused #include directive
Possibly unused #include directive.
- Private special member function is not implemented
Private special member function is not implemented.
- Result of assignment is used as condition
Result of assignment is used as condition.
- Result of nodiscard function is not used
Result of nodiscard function is not used.
- Some object members might not be initialized
Some object members might not be initialized.
- Special function without noexcept specification
Special function without noexcept specification.
- Static data member in an anonymous class is not allowed by the C++ standard
Static data member in an anonymous class is not allowed by the C++ standard.
- String literal to char pointer conversion
String literal to char pointer conversion.
- Syntax error in doxygen comment
Syntax error in doxygen comment.
- Taking an address of class r-value is non-standard Microsoft C++ extension
Taking an address of class r-value is non-standard Microsoft C++ extension.
- Template parameter is never used
Template parameter is never used.
- Too many arguments in a call to boost::format
Too many arguments in a call to boost::format.
- Too many arguments in a call to printf
Too many arguments in a call to printf.
- Type alias is never used
Type alias is never used.
- Type-specifier missing, defaults to int
Type-specifier missing, defaults to int.
- Unnamed namespace in a header file
Unnamed namespace in a header file.
- Unresolved reference in doxygen comment
Unresolved reference in doxygen comment.