Inspectopedia 2025.3 Help

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.

Last modified: 02 March 2026