2010-03-29 71 views
0
typedef int py_var_t (void *); 

它用作:快速的問題:這解釋的typedef

py_var_t *somesymbol 
+3

安裝cdecl ++。 – 2010-03-29 16:37:57

+0

@ Paul Tomblin:有一種工具可以用簡單的英語解釋一種語言的聲明,但人們聲稱這種語言不是太複雜?我永遠不會明白這一點;)順便說一下,該工具的在線版本位於http://www.cdecl.org/。只要刪除'typedef'關鍵字來使聲明工作。 – OregonGhost 2010-03-29 16:42:28

+0

我從來沒有說過,C++不是太複雜。雖然聲明語法有點糟糕,但大多數語言並不差。 – 2010-03-29 16:59:04

回答

22

它定義py_var_t是一個函數的類型返回int,並採取一個void *指針作爲參數。

+0

+1。好答案。 – 2010-03-29 16:39:47

+0

+1。簡短而精確的答案。 – psihodelia 2010-03-29 16:48:41

10

此:

typedef int py_var_t (void *); 

定義爲通過@ milan1612描述的功能的類型。那麼這個:

py_var_t *somesymbol; 

創建一個指向這樣一個函數的指針。你也可以創建這樣的指針:

int (*somesymbol)(void *); 

但typedefs的使用是更好的做法,特別是當函數類型變得更復雜時。