VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 903|回复: 6

奇怪,默认参数为什么这样不行

[复制链接]
06_avatar_middle
最佳答案
0 
在线会员 发表于 2017-9-20 23:27:37 | 显示全部楼层 |阅读模式
3驿站币
#include <iostream>
using namespace std;

int boxvolume(int length,int width,int height);   //看书上说默认值可以写在申明也可以写在函数头,我写在函数头怎么,在gcc里编译错误
                                                                        // too few arguments to function 'int boxvolume(int, int, int)'   在gcc里编译错误

int main()
{

    cout<<"the default:"<<boxvolume()<<endl;



    return 0;
} // end main

int boxvolume(int length=1,int width=1,int height=1)     //默认值写在函数头
{

    return length*width*height;
}





上一篇:vs2008 安装 Team Foundation server 出错
下一篇:windows 用户 设置不登陆
08_avatar_middle
最佳答案
0 
在线会员 发表于 2017-9-21 09:50:41 | 显示全部楼层
int boxvolume(int length,int width,int height);   //看书上说默认值可以写在申明也可以写在函数头,我写在函数头怎么,在gcc里编译错误
                                                                        // too few arguments to function 'int boxvolume(int, int, int)'   在gcc里编译错误
写在函数声明上
74_avatar_middle
最佳答案
0 
在线会员 发表于 2017-9-21 13:39:53 | 显示全部楼层
如果要寫在 函數頭 就不能寫 函數 聲明 不然 編輯器會報錯 聲明和實現不同
(如果 要寫 聲明 就要將默認值 寫到 聲明中)

可以把你代碼 中時聲明刪除 然後將 boxvolume函數寫到 main函數之前
06_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2017-9-22 21:10:54 | 显示全部楼层
谢谢,那就是必须写在函数申明上是吧,我看写上说也可以写在函数体参数上
74_avatar_middle
最佳答案
0 
在线会员 发表于 2017-9-25 11:24:08 | 显示全部楼层
xiethree 发表于 2017-9-22 21:10
谢谢,那就是必须写在函数申明上是吧,我看写上说也可以写在函数体参数上

書上的意思是說 你如果不寫函數聲明
只寫函數實現 此時 就可以把參數默認值 寫在函數體上
06_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2017-9-26 20:36:37 | 显示全部楼层
哦,谢谢
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-11-20 05:53

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表