我的代码如下,问题也在下面解释lvalue
发生的原因;
typedef struct test_item
{
char id[MENU_NAME_LEN + NULL_SPACE];
MenuFunction function;
} test_item;
和
typedef void (*MenuFunction)(VmSystem *);
和
void display(VmSystem * system)
{
printf("test");
}
我能够为我分配ID,但是当我尝试分配函数指针时,我得到以下错误lvalue
作为一元&
操作数
test_item test;
test.function = &display(system);
答案 0 :(得分:5)
你的意思是:
test.function = display;
()
之后display
表示调用该函数。只需display
将评估指向该函数的指针。不需要&display
。