请问结构体成员能否是函数?
如题,比如下面代码:struct try
{
int i;
void abc(void);
char c;
}
这样是否合法?
刚才网上搜下,看到下面代码:
#include <stdio.h>
typedef struct CStructure
{
int (*memberFunction)();
}CStructure;
int globalFunction()
{
printf("Member function of a struct in C\n");
return 0;
}
int main()
{
CStructure obj;
obj.memberFunction=globalFunction;
obj.memberFunction();
return 0;
}
说这个不是函数成员,,而是函数指针
因此,C的结构体不能包含真正的成员函数这是毫无疑问的。
看来问题清楚了.