将具有不同返回类型的函数的地址分配给函数指针

时间:2012-04-22 20:02:34

标签: function pointers

int(* ptFunction)(float,char,char);

char func(float,char,char);

如果我们使用不同的返回类型,就像我们在上面的两个函数声明中所做的那样,下面的赋值是否会正常工作或者会给出编译错误?

ptFunction =& func;

1 个答案:

答案 0 :(得分:0)

以下代码引发错误(以g ++为单位):

int (*pFun)(float, char, char);

char fun1(float, char, char) {}

int main() {

  pFun = &fun1; // error: invalid conversion from char (*)(float, char, char) to int (*)(float, char, char)

  return 0;
}