我已經寫以下代碼:C++ - 約函數指針問題
#include "stdafx.h"
#include <iostream>
using namespace std;
double funcA()
{
return 100.0;
}
int g(double (*pf)())
{
cout << (*pf)() << endl;
return 0;
}
int g2(double pf())
{
cout << pf() << endl;
return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
g(&funcA); // case I
g(funcA); // case II
g2(funcA); // case III
g2(&funcA); // case IV
return 0;
}
我已經運行上VS2008上面的代碼,並且每個函數調用返回「100」。 這裏是問題:
Q1>代碼中是否有任何問題?
Q2>似乎C++在* pf和pf之間沒有區別。那是對的嗎?
謝謝
+1對於一個非常明確的問題。 – 2010-11-17 16:31:59
你也可以用g的聲明和g2的body一起使用 – UncleZeiv 2010-11-17 16:33:55
我建議本教程關於函數指針:http://www.newty.de/fpt/index.html ..它非常全面 – Jack 2010-11-17 16:34:36