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

C代码编译有关问题

2012-02-29 
C代码编译问题代码如下(省略头文件):#define_isfull_sp(sp)((sp).nset nbits)structBitField{unsignedch

C代码编译问题
代码如下(省略头文件):
#define   _isfull_sp(sp)   ((sp).nset   > =   nbits)
struct   BitField
{
unsigned   char   *s_b;
size_t   s_nset;
};
struct   BitField   bf;

static   size_t   nbits=0;
static   size_t   nbytes=0;
unsigned   char   *b;
size_t   nset;

void   BitField_object(const   BitField   &bf)
{
nset   =   bf.nset;
if(   _isfull_sp(bf)   )  
b   =   (unsigned   char   *)0;
else
{
bf.b=(unsigned   char   *)malloc(nbytes);
memcpy(b,   bf.b,   nbytes);
)
}

用gcc编译报错如下:
void   BitField_object(const   BitField   &bf)行报错误:
expected   ‘;’,   ‘,’   or   ‘)’   before   ‘&’   token

请问这是什么错误啊?应该怎么改?


[解决办法]
void BitField_object(const BitField &bf)行报错误:
expected ‘;’, ‘,’ or ‘)’ before ‘&’ token

void BitField_object(const BitField &bf)应该写成
void BitField_object(const struct BitField &bf)
因为没有typedef ,并且用g++编译

热点排行