помогите разобраться, не компилируется:
#define reorder_bytes(array_of_longs, longs_count, tmp_long, tmp_q) \ do { \ for (tmp_q = 0; tmp_q < longs_count; tmp_q++) { \ tmp_long = (((uint32_t *) &array_of_longs)[tmp_q] << 16) | \ (((uint32_t *) &array_of_longs)[tmp_q] >> 16); \ ((uint32_t *) &array_of_longs)[tmp_q] = ((tmp_long & 0xFF00FF00L)>>8)|\ ((tmp_long & 0x00FF00FFL) << 8); \ } \ } while(0) ...
unsigned long value; unsigned short q; ... reorder_bytes(((unsigned long *) buf), 14,value, q); //error '&' requires l-value
|