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