Compiler Warning (level 1) C4055

'conversion' : from data pointer 'type1' to function pointer 'type2'

Remarks

Obsolete: This warning is not generated by Visual Studio 2017 and later versions.

A data pointer is cast (possibly incorrectly) to a function pointer. This is a level 1 warning under /Za and a level 4 warning under /Ze.

Example

The following sample generates C4055:

// C4055.c
// compile with: /Za /W1 /c
typedef int (*PFUNC)();
int *pi;
PFUNC f() {
   return (PFUNC)pi;   // C4055
}

Under /Ze, this is a level 4 warning.

// C4055b.c
// compile with: /W4 /c
typedef int (*PFUNC)();
int *pi;
PFUNC f() {
return (PFUNC)pi;   // C4055
}