在我编写的固件中,我创建了一种变量。类似于下面的内容:
struct SitemMenu {
unsigned int id;
char * text;
void * submenu
}
typedef struct SitemMenu TitemMenu;
Run Code Online (Sandbox Code Playgroud)
是任何功能:
void functionX () {
...
}
Run Code Online (Sandbox Code Playgroud)
如果我创建此变量:
TitemMenu itemWhatever;
Run Code Online (Sandbox Code Playgroud)
并做:
itemWhatever.submenu = &function (X);
Run Code Online (Sandbox Code Playgroud)
我可以打电话给functionX做吗:
(*itemWhatever.submenu)();
Run Code Online (Sandbox Code Playgroud)
我做了类似的事情,编译器给出了这个答案:
error: (183) function or function pointer required
Run Code Online (Sandbox Code Playgroud)