| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1491 人关注过本帖
标题:面试时遇到的一个题
只看楼主 加入收藏
无水之冰
Rank: 2
等 级:论坛游民
帖 子:54
专家分:41
注 册:2007-6-5
收藏
得分:0 
肯定只能是C++
但是我试了一下运行也报错
nuciewth可以说一下你选的依据吗
2008-12-11 19:35
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
对函数参数值检查,一般都是先从左到友,所以一开始的是个整型去匹配,然后下一个又是整型,这时候找不到只能往上搜索了(即类型转换)。
从编译器的词法分析应该也是这个样子。

倚天照海花无数,流水高山心自知。
2008-12-11 19:41
VxWorks
Rank: 3Rank: 3
来 自:WindRiver
等 级:论坛游民
威 望:6
帖 子:859
专家分:68
注 册:2007-11-24
收藏
得分:0 
以下是引用nuciewth在2008-12-11 19:41的发言:

对函数参数值检查,一般都是先从左到友,所以一开始的是个整型去匹配,然后下一个又是整型,这时候找不到只能往上搜索了(即类型转换)。
从编译器的词法分析应该也是这个样子。


想当然了吧?这个问题应该从C++标准去分析而不是编译原理。

为了防止世界被破坏,为了守护世界的和平,贯彻爱与真实的邪恶,可爱又迷人的反派角色,VxWorks!
Don't ask me any question.I'm just here to buy soy sauce.
2008-12-11 19:54
无水之冰
Rank: 2
等 级:论坛游民
帖 子:54
专家分:41
注 册:2007-6-5
收藏
得分:0 
只是理论上的啊
2008-12-11 21:11
xian1
Rank: 2
等 级:论坛游民
威 望:1
帖 子:42
专家分:10
注 册:2008-12-5
收藏
得分:0 
我也运行了一遍,也是报错,c里没有函数重载,同意楼上的
2008-12-11 21:28
woshiyun
Rank: 1
等 级:新手上路
威 望:2
帖 子:348
专家分:0
注 册:2008-6-16
收藏
得分:0 
1. 运行出错并不代表不支持重载。如果下面的程序不能运行,才是真正不支持重载。
#include<stdio.h>
double max(int a ,double b){printf("111");return 0;}
double max(double a,int b){printf("222");return 0;}
void main()
{
    max(1.0,2);
}
2. max(1, 2)不管怎么样都是不对的,支持重载的时候会造成2义性,而max(1.0, 2) 或 max(1, 2.0)就是对的了。
3. 这个题可以这么答:如果支持重载,可以这样定义函数,尽管不怎么好,但max(1, 2)的调用方式是错的。
2008-12-12 08:20
yangvu
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2008-11-28
收藏
得分:0 
到底要问什么
2008-12-12 08:54
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用VxWorks在2008-12-11 19:54的发言:



想当然了吧?这个问题应该从C++标准去分析而不是编译原理。

我只想说语言的实现还是要靠编译器。

倚天照海花无数,流水高山心自知。
2008-12-12 10:24
笨者天下
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2007-4-7
收藏
得分:0 
编译下是最好的
2008-12-12 12:29
lianzerong
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-7-23
收藏
得分:0 
呵呵 这 好一个问题 引出这么多经典 有学习了 !!
2008-12-12 12:45
快速回复:面试时遇到的一个题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.060612 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved