>
>
>
V677. Custom declaration of standard ty…


V677. Custom declaration of standard type. Consider using the declaration from system header files instead.

The analyzer has found a custom declaration of a standard data type in your program. This is an excessive code which may potentially cause errors. You should use system files containing declarations of the standard types.

Below is an example of incorrect type declaration:

typedef unsigned *PSIZE_T;

The PSIZE_T type is declared as a pointer to the 'unsigned' type. This declaration may cause issues when trying to build a 64-bit application: the program won't compile or will behave in a different way than expected. This is how the PSIZE_T type is declared in the file "BaseTsd.h": "typedef ULONG_PTR SIZE_T, *PSIZE_T;". You should include the corresponding header file instead of changing the type declaration.

This is the fixed code:

#include <BaseTsd.h>

This diagnostic is classified as:

  • CERT-DCL37-C

You can look at examples of errors detected by the V677 diagnostic.