c++ primer 0807

作用域对重载的影响

这里写图片描述
这里写图片描述
两张图可以看出,要是在局部作用域内声明函数,那么就不能访问外部相同名字的函数

函数指针

这里写图片描述
这里写图片描述

bool (*pf)(const string &, const string &);//pf是一个指针,指向一个函数,这个函数的参数书两个const string的引用,返回值是bool
bool *pf(const string &, const string &);//一个名为pf的函数,返回值是bool*

//函数声明
bool lengthCompare(){
    cout<<'1';
}
bool (*pf)();//声明指针

int main() {
    pf = lengthCompare;
    (*pf)();//调用指针
    return 0;
}

//函数指针的返回类型和形参列表必须要跟所指向的函数相同
void f(int*);
void f(unsigned int);

void  (*pf1)(unsigned int) = f; //pf1指向f(unsigned int)
void (*pf2)(int) = f; //错误,没有任何一个f与该形参列表匹配
double (*pf3)(int*) = f; //错误,没有f的返回类型匹配

猜你喜欢

转载自blog.csdn.net/GumingW/article/details/81476301