|
|
Такая ситуация:
#define MAXFRAME 8
#define low_byte(x) (*((unsigned char data *) &(x) + 1))
extern unsigned int Func (unsigned char data*,unsigned char);
main:
unsigned char a;
a=low_byte(Func(ptr,MAXFRAME));
при компиляции генерит ошибку:
MAIN.C(42): error C190: '&': not an lvalue
а такое проходит:
unsigned int tmp;
unsigned char a;
tmp=Func(ptr,MAXFRAME);
a=low_byte(tmp);
Подскажите , зачем ему промежуточное tmp?
E-mail: info@telesys.ru