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++编译