读书人

函数默认值有关问题

发布时间: 2012-03-06 20:47:55 作者: rapoo

函数默认值问题
C++规定函数的默认值只能连续出现在形参表的右边,但我发现在VC++6.0中实形结合是从右往左进行,也即先将右侧参数结合
这样的结合顺序,默认值只能连续出现在形参表的右边的规定似乎不对了

[解决办法]
同意楼上.
首先要确定调用哪个函数.参数的默认值只影响"函数匹配"阶段.编译成代码涉及到参数压栈时,不论从左到右压栈还是从右到左压栈,具有默认值的参数一样要压栈.比如函数声明是f(int a,int b=5),调用f(i),不能说因为调用的代码只有一个参数就只有一个参数压栈.实际上仍然是两个参数压栈.

读书人网 >C++

热点推荐