C 基础:C 的名字查找计算机等级考试
文章作者 100test 发表时间 2010:01:01 12:57:13
来源 100Test.Com百考试题网
在C 中,函数编译时检查过程如下:
第一步,执行名字查找(name lookup):在调用类中查找,并生成候选列表;若候选列表为空,再扩大查找范围(如名字空间内,或父类);如此循环。如果最终无结果,那么抱歉,就会提示你“名字未能找到”;否则,编译器跳到第二步。
第二步,执行重载辨别(overload resolution):如果第一步得到的候选者个数大于一,编译器将以传递给函数的参数及其类型为依据,尝试找到最佳答案。如果无法据此确定最优者,就会报告“存在二义性调用”。
编辑特别推荐:
送给正在学习C 朋友的50条建议
C 笔试考前练习
第三步,可见性检查(accessibility checking):编译器检查是否可真正执行调用(比如,被调用函数是否是私有的)。