您当前的位置: 首页 >  c++

命运之手

暂无认证

  • 3浏览

    0关注

    747博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【C++】【函数指针】void (*p)(),void *p(),void p()的区别

命运之手 发布时间:2021-06-01 15:27:38 ,浏览量:3

代码

	
	void voidFunc1(int);
	
	void *voidFunc2(int);
	
	void execVoidFunc1(void (*voidFunc)(int)) {
	    voidFunc(0);
	}
	
	void execVoidFunc2(void *voidFunc(int)) {
	    voidFunc(0);
	}
	
	void execVoidFunc3(void voidFunc(int)) {
	    voidFunc(0);
	}

	int main() {
	    execVoidFunc1(voidFunc1);
	    execVoidFunc2(voidFunc2);
	    execVoidFunc3(voidFunc1);
	}

说明

voidFunc1是一个返回类型为void的函数

voidFunc2是一个返回类型为void*的函数

execVoidFunc1是一个标准的函数指针做形参的用法

execVoidFunc3和execVoidFunc1是等价的,编译器会自动将void p()补全,翻译成void (*p)()

execVoidFunc2和execVoidFunc3性质是差不多的,只是返回类型为void*,而不是void

execVoidFunc2的完整形式为void execVoidFunc2(void* (*voidFunc)(int))

关注
打赏
1654938663
查看更多评论
立即登录/注册

微信扫码登录

0.0375s