Share via


Compiler Warning (level 1) C4054

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

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

The following sample generates C4054:

// C4054.c
// compile with: /W1 /Za /c
int (*pfunc)();
int* f() {
   return (int*)pfunc;   // C4054
}

Under /Ze, this is a level 4 warning.

// C4054b.c
// compile with: /W4 /c
int (*pfunc)();
int* f() {
   return (int*)pfunc;   // C4054
}