-2
A
回答
4
well void*(void)(void)
不能编译,因为它试图声明一个函数返回一个void *命名为void,并且不能使用该语言的关键字作为名称。
你不能声明一个名为void的int(int void=5;
当然不工作)。
现在voi
是一个有效的标识符,你可以命名一个功能voi
。
试图找出你实际上要求的区别。
void(*name)(void);
和void(name)(void);
是一个声明一个函数,另一个声明一个函数指针。
事实上,第二个例子中的括号没有做任何事情。 void(name)(void);
与void name(void);
相同。
但是,当声明函数指针时,需要括号或*
将左侧绑定到返回类型。
无论如何,我不确定你在问什么,所以你最好在网站上搜索关于函数指针的其他问题。与this one一样,这也解释了为什么使用void(name)(void)
可能与void(name)()
不同。
相关问题
- 1. void *(* routine)(void *)在C中表示什么?
- 2. 从“typedef void VOID”中内置“void”和“VOID”有什么区别?
- 3. Shell脚本:什么意思/表达式 - 读取void void VARIABLE void?
- 4. void void
- 5. “void function()”和“void * function()”有什么区别?
- 6. 什么是“if(*((void **)&(_ ptr))!=(void *)NULL)”check?
- 7. decltype(void())中的void()是什么意思?
- 8. “void *(*)(void *)”在C++中是什么意思?
- 9. void *和void **有什么区别?
- 10. (void **)&x和(void *)x有什么区别?
- 11. void 2中的void是什么意思
- 12. void(int)和void(*)(int)有什么区别?
- 13. void(int)&void(*)(int)
- 14. (void)^(void)in objective-c?
- 15. void(* foo)(void):最新(void)的含义
- 16. 无法将'void *(Network :: *)(void *)'转换为'void *(*)(void *)'
- 17. 不能在pthread_create函数中将void *(MyClass :: *)(void *)转换为void *(*)(void *)
- 18. 如何将void(__thiscall MyClass :: *)(void *)转换为void(__cdecl *)(void *)指针
- 19. 'void(* return_socket)(void * closure);'意思?
- 20. void方法返回void?
- 21. typedef void(AFX_MSG_CALL ClassName :: * AFX_PMSGptr)(void);
- 22. GCJ和<Void, Void>
- 23. char函数(void)和void函数(void)之间的C区别
- 24. Spring Roo'遇到了“”void“”void“”'
- 25. 'void(* old_sigint_handler)(int)'是什么?
- 26. 什么是void()的好用
- 27. void **意味着什么
- 28. 声明“(void)startGuardBegin;”做什么?
- 29. java在void中做什么?
- 30. void(^)(NSData *)是什么意思?
我看不出有什么区别,可以排除错字(voi) –
难道你没有错字:'voi'而不是'void'吗? – arainone
well'void *(void)(void)'不会编译,因为它试图声明一个返回名为void的'void *'的函数,并且不能使用该语言的关键字作为名称。 – PeterT