圖:
我知道typedef是用來擴充原本的data type。比如:
typedef unsigned char bool; //bool = unsigned char
但在這張圖中:
typedef void (*V_FLOAT_CALLBACK) (int iFloatLevel);
我看不懂這邊為什麼要這樣寫,而且我也找不出它的規則
第二行的 static V_FOLAT_CALLBACK vFloatCallback = NULL;很明顯地告訴我們此type是
V_FLOAT_CALLBACK。加上有一個小v在variable前,我很合理地推斷出第一行應該是要寫:
typedef void (*V_FLOAT_CALLBACK)
所以第二行的原式應該為:
void *vFloatCallback = NULL;
Q1: 那第一行是打錯嗎?後面的int iFloatLevel是多寫的?
Q2: 為什麼在typedef那行要有括號的存在? 我知道括號的功能是要用來防止優先權亂掉,
但根本不會有operator在type的前面吧?
謝謝各位