void *(* void)(void *)代表什么?

时间:2016-01-10 16:37:46

标签: c++ void void-pointers

之间的区别是什么
APIWGET = ["c:\\wget\\wget.exe","--post-data={ user_name: admin, password: 

Admin11!}","--output-document="+APIJSONOUTPUT + 'APIJSONResponse_' + TimeNow 

+ '.txt', "--save-headers", "http....."]

void*(*void)(void*) 

何时使用?

1 个答案:

答案 0 :(得分:4)

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)()不同。