-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