使用函数指针时,指针可以像函数名一样,直接加括号和参数列表调用;也可先解引用再调用
//include directories...
using namespace std;
void testFun()
{
cout<<"this is a test"<<endl;
}
int main(int argc,char**argv)
{
auto *pFun=testFun;
pFun();//or (*pFun)() is also fine
}
但是使用类指针时不可以
//header files...
using namespace std;
class A
{
private:
int a;
public:
A(int a_):a(a_){}
void operator(){cout<<a<<endl;}
};
int main(int argc,char** argv)
{
A a1(5);
A *pA=new A(7);
a1();//correct using operator() function
(*pA)();//pA() is not correct
}