0
int(* ptFunction)(float,char,char);用不同的返回类型将函数的地址赋给函数指针
char func(float,char,char);
如果我们使用不同的返回类型,就像我们在上面的两个函数声明中做的那样,下面的赋值将会正确地工作还是会给编译错误?
ptFunction = &func;
int(* ptFunction)(float,char,char);用不同的返回类型将函数的地址赋给函数指针
char func(float,char,char);
如果我们使用不同的返回类型,就像我们在上面的两个函数声明中做的那样,下面的赋值将会正确地工作还是会给编译错误?
ptFunction = &func;
下面的代码提高(以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;
}
这是更好地为你指出你暗示(C或C++)的语言?之后,可以通过测试来检查它。 (我不是一个标准粉丝,所以我不能以其他方式回答这个问题) – parallelgeek 2012-04-22 20:17:10
上面的代码片段来自C++。 – 2012-04-22 20:19:41