C++ void参数

转自:http://www.cnblogs.com/thinkingfor/archive/2010/09/14/1825842.html

在C程序中如果在声明函数的时候如果没有任何参数那么需要将参数定义为void以此来限定此函数不可传递任何参数,如果不进行限定让参数表默认为空其意义是可以传递任何参数,从设计思想上来讲这的确也符合C的设计哲学,如果要有明确的定义那么就要自己去处理它。以下是C代码

 

?
1
2
3
4
5
6
7
8
//空参数表代表可以传递任意的参数,
void  fun();
fun(1); //正常编译
fun(1,2,3); //正常编译
 
//参数表定义为void才是表示不能传递任何参数
void  noargfun( void );
noargfun(1); //编译错误,有的编译器仅仅是警告

在C++中定义函数时是否有必要对无参数的函数列表定义void参数呢?答案是No。C++标准规定如果没有对参数列表进行定义那么就表示函数不能传递任何参数,这从语义上来讲更符合人的思维方式。以下是C++代码

 

 

?
1
2
3
4
//空参数表的意义是不可以传递任何参数
void  fun(); //void fun(void)含义相同
fun(1); //编译错误
fun(1,2,3); //编译错误

当然如果指定义void那么不管在C还是C++都表示不可以传递任何参数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值