我有以下代码。我只想知道最后一行代码的含义。
typedef struct Details
{
int D1;
int D2;
} Sdetails;
typedef struct Variable
{
int Type;
Sdetails i;
}Varialbl3;
typedef XAN_BOOL (*returnfunction)(variabl3* Data);
typedef struct _function
{
returnfunction fr;
}function1;
function1 *f1;
variabl3 v3;
f1->fr(&v3);
最后一行 f1->fr(&v3) 表示什么?我不明白这个概念。
最佳答案
f1
是指向结构的指针。该结构有一个名为 fr
的成员,它是一个指向函数的指针。该函数采用指向 variabl3
的指针并返回 XAN_BOOL
。
因此,f1->fr(&v3)
调用由 f1->fr
指向的函数,提供 v3
的地址作为唯一的参数,并忽略返回值。
关于c++ - 从结构中调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6288348/