c++的名字查找

 

C++中,函数编译时检查过程如下:


第一步,执行名字查找(name lookup):在调用类中查找,并生成候选列表;若候选列表为空,再扩大查找范围(如名

 

字空间内,或父类);如此循环。如果最终无结果,那么抱歉,就会提示你“名字未能找到”;否则,编译器跳到第二步。

第二步,执行重载辨别(overload resolution):如果第一步得到的候选者个数大于一,编译器将以传递给函数的参数及其

 

类型为依据,尝试找到最佳答案。如果无法据此确定最优者,就会报告“存在二义性调用”。

第三步,可见性检查(accessibility checking):编译器检查是否可真正执行调用(比如,被调用函数是否是私有的)。

 

你可能感兴趣的:(C++,c,编译器)