Inspectopedia 2025.2 Help

Potential Code Quality Issues

'long' floats are not allowed by the C++ standard   New in this release

'long' floats are not allowed by the C++ standard.

[[nodiscard]] cannot be applied to functions without a return value   New in this release

[[nodiscard]] cannot be applied to functions without a return value.

A function or a lambda with non-void return type should return a value   New in this release

A function or a lambda with non-void return type should return a value.

Abstract final class   New in this release

Abstract final class.

Adding cv-qualifiers to references has no effect   New in this release

Adding cv-qualifiers to references has no effect.

Assigned value is never used   New in this release

Assigned value is never used.

Backslash and newline are separated by space   New in this release

Backslash and newline are separated by space.

Binary operator acts on equal operands   New in this release

Binary operator acts on equal operands.

Binary operator acts on identical operands   New in this release

Binary operator acts on identical operands.

Binding r-value to l-value reference is non-standard Microsoft C++ extension   New in this release

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.   New in this release

Call of deleted copy constructor elided during copy-initialization.

Call to a virtual function inside a constructor/destructor is resolved at compile time   New in this release

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   New in this release

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   New in this release

Casting from nullptr to pointer type with reinterpret_cast is non-standard Microsoft C++ extension.

Class is abstract but not explicitly declared as such   New in this release

Class is abstract but not explicitly declared as such.

Class is never used   New in this release

Class is never used.

Class member function hiding a non-virtual function from a base class   New in this release

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   New in this release

Class should have a user-defined constructor because of an uninitialized data member.

Comparison of unsigned expression with 0   New in this release

Comparison of unsigned expression with 0.

Concept is never used   New in this release

Concept is never used.

Declaration does not declare anything   New in this release

Declaration does not declare anything.

Declaration of a non-overriding virtual function in a final or sealed class   New in this release

Declaration of a non-overriding virtual function in a final or sealed class.

Declaration specifier with no declarators   New in this release

Declaration specifier with no declarators.

Declarator disambiguated as a function declaration   New in this release

Declarator disambiguated as a function declaration.

Declarator is never used   New in this release

Declarator is never used.

Declarator is only assigned but never accessed   New in this release

Declarator is only assigned but never accessed.

Declarator is reassigned in all paths before being read   New in this release

Declarator is reassigned in all paths before being read.

Declarator is used only in unevaluated context   New in this release

Declarator is used only in unevaluated context.

Default case is not handled in a switch statement   New in this release

Default case is not handled in a switch statement.

Defaulted special member function is implicitly deleted   New in this release

Defaulted special member function is implicitly deleted.

Deleting a void pointer   New in this release

Deleting a void pointer.

Dependent template without 'template' keyword   New in this release

Dependent template without 'template' keyword.

Dependent type without 'typename' keyword   New in this release

Dependent type without 'typename' keyword.

Deprecated 'register' storage class specifier   New in this release

Deprecated 'register' storage class specifier.

Dereference operator limit is exceeded   New in this release

Dereference operator limit is exceeded.

Entity is deprecated   New in this release

Entity is deprecated.

Enumerator is never used   New in this release

Enumerator is never used.

Expression can be simplified   New in this release

Expression can be simplified.

Expression that evaluates to zero is used as a null pointer constant   New in this release

Expression that evaluates to zero is used as a null pointer constant.

Forward enum declaration without underlying type   New in this release

Forward enum declaration without underlying type.

Function is not implemented   New in this release

Function is not implemented.

Function result should be used   New in this release

Function result should be used.

Hiding an uncaptured local declaration   New in this release

Hiding an uncaptured local declaration.

Hiding local declaration   New in this release

Hiding local declaration.

Implicit conversion to incompatible pointer type   New in this release

Implicit conversion to incompatible pointer type.

Implicit conversion to pointer type with loss of qualifiers   New in this release

Implicit conversion to pointer type with loss of qualifiers.

Implicit default constructor is not available   New in this release

Implicit default constructor is not available.

Implicit integer to pointer conversion   New in this release

Implicit integer to pointer conversion.

Implicit pointer to integer conversion   New in this release

Implicit pointer to integer conversion.

Incorrect format directive in boost::format   New in this release

Incorrect format directive in boost::format.

Incrementing expression of type bool   New in this release

Incrementing expression of type bool.

Invalid printf format specifier   New in this release

Invalid printf format specifier.

Keyword 'default' is used as identifier   New in this release

Keyword 'default' is used as identifier.

Lambda capture is never used   New in this release

Lambda capture is never used.

Local variable is never used, but may have side-effects in its destructor   New in this release

Local variable is never used, but may have side-effects in its destructor.

Local variable is used without being initialized   New in this release

Local variable is used without being initialized.

Local variable might not be initialized   New in this release

Local variable might not be initialized.

May be missing keyword 'throw'   New in this release

May be missing keyword 'throw'.

Method must be public and virtual to implement a C++/CLI interface member   New in this release

Method must be public and virtual to implement a C++/CLI interface member.

Mismatched class tags   New in this release

Mismatched class tags.

Missing a matching '#pragma endregion' directive   New in this release

Missing a matching '#pragma endregion' directive.

Missing a matching '#pragma region' directive   New in this release

Missing a matching '#pragma region' directive.

Missing function parameter description in a documentation comment   New in this release

Missing function parameter description in a documentation comment.

Missing include guard   New in this release

Missing include guard.

Module partition with several partition units   New in this release

Module partition with several partition units.

More than one implicit conversion applied during copy-initialization. This is non-standard Microsoft C++ extension.   New in this release

More than one implicit conversion applied during copy-initialization.

Multi-character character literal   New in this release

Multi-character character literal.

Multi-character wide character literal   New in this release

Multi-character wide character literal.

No return statement in a function or a lambda returning non-void   New in this release

No return statement in a function or a lambda returning non-void.

Non-inline function definition in a header file   New in this release

Non-inline function definition in a header file.

Non-inline variable definition in a header file   New in this release

Non-inline variable definition in a header file.

Non-safe resource acquisition   New in this release

Non-safe resource acquisition.

Non-static data member is uninitialized   New in this release

Non-static data member is uninitialized.

Non-virtual class member function hidden in a derived class   New in this release

Non-virtual class member function hidden in a derived class.

Not all control paths return a value   New in this release

Not all control paths return a value.

Not enough arguments in a call to boost::format   New in this release

Not enough arguments in a call to boost::format.

Not enough arguments in a call to printf   New in this release

Not enough arguments in a call to printf.

Not initialized static const local variable of scalar type. This is non-standard Microsoft C++ extension.   New in this release

Not initialized static const local variable of scalar type.

Object member might not be initialized   New in this release

Object member might not be initialized.

Outdated format directive in boost::format   New in this release

Outdated format directive in boost::format.

Overridden method is deprecated   New in this release

Overridden method is deprecated.

Override function redefines a default parameter argument   New in this release

Override function redefines a default parameter argument.

Parameter is always rewritten in function body before being read   New in this release

Parameter is always rewritten in function body before being read.

Parameter is never used   New in this release

Parameter is never used.

Parameter names do not match   New in this release

Parameter names do not match.

Polymorphic class with non-virtual public destructor   New in this release

Polymorphic class with non-virtual public destructor.

Positional and non-positional arguments in the same boost::format call   New in this release

Positional and non-positional arguments in the same boost::format call.

Possibly erroneous empty statement   New in this release

Possibly erroneous empty statement.

Possibly erroneous expression without side-effects   New in this release

Possibly erroneous expression without side-effects.

Possibly erroneous incomplete switch-statement   New in this release

Possibly erroneous incomplete switch-statement.

Possibly invalid printf format specifier   New in this release

Possibly invalid printf format specifier.

Possibly uninitialized class member   New in this release

Possibly uninitialized class member.

Possibly unintended incompatible reference type in range declaration   New in this release

Possibly unintended incompatible reference type in range declaration.

Possibly unintended object slicing   New in this release

Possibly unintended object slicing.

Possibly unused #include directive   New in this release

Possibly unused #include directive.

Private special member function is not implemented   New in this release

Private special member function is not implemented.

Result of assignment is used as condition   New in this release

Result of assignment is used as condition.

Result of nodiscard function is not used   New in this release

Result of nodiscard function is not used.

Some object members might not be initialized   New in this release

Some object members might not be initialized.

Special function without noexcept specification   New in this release

Special function without noexcept specification.

Static data member in an anonymous class is not allowed by the C++ standard   New in this release

Static data member in an anonymous class is not allowed by the C++ standard.

String literal to char pointer conversion   New in this release

String literal to char pointer conversion.

Syntax error in doxygen comment   New in this release

Syntax error in doxygen comment.

Taking an address of class r-value is non-standard Microsoft C++ extension   New in this release

Taking an address of class r-value is non-standard Microsoft C++ extension.

Template parameter is never used   New in this release

Template parameter is never used.

Too many arguments in a call to boost::format   New in this release

Too many arguments in a call to boost::format.

Too many arguments in a call to printf   New in this release

Too many arguments in a call to printf.

Type alias is never used   New in this release

Type alias is never used.

Type-specifier missing, defaults to int   New in this release

Type-specifier missing, defaults to int.

Unnamed namespace in a header file   New in this release

Unnamed namespace in a header file.

Unresolved reference in doxygen comment   New in this release

Unresolved reference in doxygen comment.

Last modified: 29 July 2025