免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7130 | 回复: 15
打印 上一主题 下一主题

[函数] 请教:一个函数的参数能采用void *吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-28 14:16 |只看该作者 |倒序浏览
例如:

void func (void *aPtr);

谢谢。

论坛徽章:
0
2 [报告]
发表于 2007-07-28 14:18 |只看该作者
why not?

论坛徽章:
0
3 [报告]
发表于 2007-07-28 14:41 |只看该作者
编译的时候出现下面的错误了。。。。是不是函数的参数不能定义为void *啊? xiexie.

test.cpp: In function 'void func(void*)':
test.cpp:7: error: 'void*' is not a pointer-to-object type

论坛徽章:
0
4 [报告]
发表于 2007-07-28 14:44 |只看该作者
哦,是函数里出错了。。。我在func里直接用了
*aPtr = 2;
我把它改为了
*(int *)aPtr = 2;
编译通过了。多谢

论坛徽章:
0
5 [报告]
发表于 2007-07-28 14:54 |只看该作者
很好。顺便多一句嘴,void * 这种类型不能解引用。

论坛徽章:
0
6 [报告]
发表于 2007-07-28 15:07 |只看该作者
原帖由 langue 于 2007-7-28 14:54 发表
很好。顺便多一句嘴,void * 这种类型不能解引用。

不能解引用
  版主,是什么意思?不解中。。。

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
7 [报告]
发表于 2007-07-28 15:26 |只看该作者
原帖由 cviolet 于 2007-7-28 15:07 发表


  版主,是什么意思?不解中。。。

论坛徽章:
0
8 [报告]
发表于 2007-07-28 15:43 |只看该作者
原帖由 cviolet 于 2007-7-28 15:07 发表


  版主,是什么意思?不解中。。。


参见《C语言参考手册》第五版 5.3.1

... Generic pointers cannot be dereferenced with the * or subscripting operators, nor can they be operands of addition or subtraction operators ...


其中,下标运算符 (subscripting operators) 就是一对 []。例如,a 数组的第一个元素是 a[0]。如果 p 是一个指针而且非指向 void 类型的指针,那么 p[index] 也是对 p 的解引用。这样,p[0] 的效果等同于 *p

论坛徽章:
0
9 [报告]
发表于 2007-07-28 15:47 |只看该作者
原帖由 MMMIX 于 2007-7-28 15:26 发表



你如果经常这样,会有人认为你在技术版灌水

论坛徽章:
0
10 [报告]
发表于 2007-07-28 20:11 |只看该作者
其中,下标运算符 (subscripting operators) 就是一对 []。例如,a 数组的第一个元素是 a[0]。如果 p 是一个指针而且非指向 void 类型的指针,那么 p 也是对 p 的 ...


哦,原来还有这么好听的叫法。原理我明白,只是我不知道这个叫什么。
谢谢版主。
也谢谢MMMIX版主。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP