请问结构体成员能否是函数?
如题,比如下面代码: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的结构体不能包含真正的成员函数这是毫无疑问的。
看来问题清楚了.
不可以的,结构体是一个类型的框架,所以还是一个一般的类型,不可在其中用函数,但可以定义返回结构体型的函数
[此贴子已经被作者于2007-6-12 18:19:58编辑过]
答案肯定是
不行
至于为什么?
编译一下就知道了!