编译器警告(等级 1)C4055

“conversion”: 从数据指针“type1”到函数指针“type2”

备注

已过时:Visual Studio 2017 及更高版本不会生成此警告。

数据指针被(可能是错误地)强制转换为函数指针。 这是 /Za 下的 1 级警告和 /Ze 下的 4 级警告。

示例

以下示例生成 C4055:

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

在 /Ze 下,这是 4 级警告。

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