首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

构造体中是否可以以函数作为变量

2013-01-21 
结构体中是否可以以函数作为变量Linux代码中看到如下结构:struct net_proto_family {intfamilyint(*creat

结构体中是否可以以函数作为变量

Linux代码中看到如下结构:
struct net_proto_family {
intfamily;
int(*create)(struct net *net, struct socket *sock,
  int protocol, int kern);
struct module*owner;
};


但在VC上建立类似结构体时却报错:
struct file_system
{
int name;
int protocal;
int isprime(int number);
};

int isprime(int num)
{
int i,flag;
flag=1;
for(i=1;i<num;i++)
{
if(num%i == 0 && i!=1)
{
flag=0;
break;
}
}
return flag;
}

报错信息如下:
rror C2032: '<Unknown>' : function cannot be member of struct 'file_system'
[解决办法]
struct file_system
{
int name;
int protocal;
int (*isprime)(int number);
};

用函数指针,你那被你写成声明了
[解决办法]
C++支持里面有函数 但是C不支持里面有函数
而且这都支持有函数指针

热点排行