推 RX1226:謝謝大大的指導, 感恩~ 04/06 09:27
: typedef union {
: int (*FuncA)(Point* p);
: int (*FuncB)(int);
: }Function;
: Function Ob[] = {{F_A}, {F_B}};
initializer list用在struct/union上時會依宣告順序來初始化
這裡宣告並定義了一個Function陣列
並將Ob[0].FuncA設為F_A,將Ob[1].FuncA設為F_B
把int (*)(int)丟給int (*)(Point *p)自然是invalid conversion
我記得C89以前union只有第一個member可以初始化
: int main(int arqc, int* arqv[])
順便說一下,main的第二個參數是char *argv[]
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.249.154.162
※ 編輯: hilorrk 來自: 111.249.154.162 (04/05 19:53)