![]() |
發布時間: 2023-6-25 22:40
正文摘要:// 定義函數指針 typedef (*Calculator) (int num1, int num2); // 加法 static int AddOption(int num1, int num2) { return num1 + num2; } // 減法 static int SubOption(int num1, int num2) ... |
Longan.Wang 發表于 2023-6-26 14:09 不好意思 這里手打的代碼漏掉了 實際代碼中是有的 |
LaoYuTou 發表于 2023-6-26 08:23 上面只是給了簡單的框架 實際代碼對類型做了重定義 typedef unsigned int uint16_t typedef unsigned long uint32_t 實際測試中發現定義函數指針時變量類型使用uint16_t不會報這個錯 但是用uint32_t時會報錯 不清楚原因在哪里 |
你定義函數指針 typedef (*Calculator) (int num1, int num2);沒有返回類型 你定義的函數實體又有返回類型 |
直接聲明 code int(code*Calculator[]) (int, int)={ AddOption, SubOption, MulOption, DivOption }; return Calculator[opt](num1,num2); |
測試沒問題,是不是調用問題,看看怎么調用的。 |