Void 参数
来源:互联网 发布:淘宝戒指添加码数 编辑:程序博客网 时间:2024/06/05 16:46
在C程序中如果在声明函数的时候如果没有任何参数那么需要将参数定义为void以此来限定此函数不可传递任何参数,如果不进行限定让参数表默认为空其意义是可以传递任何参数,这个问题的由来实际上是由于要兼容早期的K&C标准造成的。K&C 在声明函数时参数表为空,也就是说函数声明时的函数原型签名信息不包含参数信息,如果要有明确的定义空参数的行为那么就要自己去处理它。
//空参数表代表可以传递任意的参数,
void fun();
fun(1);//正常编译
fun(1,2,3);//正常编译
//参数表定义为void才是表示不能传递任何参数
void noargfun(void);
noargfun(1);//编译错误,有的编译器仅仅是警告
在C++中定义函数时是否有必要对无参数的函数列表定义void参数呢?答案是No。C++标准规定如果没有对参数列表进行定义那么就表示函数不能传递任何参数,这从语义上来讲更符合人的思维方式。以下是C++代码
//空参数表的意义是不可以传递任何参数
void fun();//void fun(void)含义相同
fun(1);//编译错误
fun(1,2,3);//编译错误
当然如果指定义void那么不管在C还是C++都表示不可以传递任何参数。
0 0
- Void 参数
- [C++]void参数
- C++ void参数
- C++ void参数
- C++ void参数
- 万能参数void*
- 函数参数返回值 void 和 void *
- C++参数类型空/void/void *
- C语言--void指针参数
- void * data 数据类型参数解释
- 为什么QueryInterface最后一个参数是(void**),而不是(void*)
- c和c++函数参数为void / void *
- c和c++函数参数为void / void *
- error C2664: “gluNurbsCallback”: 不能将参数 3 从“void (__stdcall *)(GLenum)”转换为“void (__stdcall *)(void)”
- CString参数用于const void*的理解
- 没有参数的函数f(void)
- 关于函数参数(void与空)
- void声明空参数表,main()函数的参数也可以用void填充表示没有参数
- Sorted
- Mac OS X 10.10.3反编译Android apk
- 如何远程导入导出数据库
- Java开发环境配置
- Java数据类型
- Void 参数
- 分页
- Lua中table函数的总结
- cocos2dx-3.x 导入lua扩展库
- 获取分组后取某字段最大一条记录(求每个类别中最大的值的列表)
- strcpy,ctrncpy和memcpy的区别
- 在Linux下运行C语言程序
- J2EE 13种技术
- 手机、浏览器的分辨率、状态栏参数