我已经编写了以下代码:
#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。这是正确的吗?
谢谢
using namespace std;
让我毛骨悚然 ;) - Billy ONeal