У меня есть беззнаковый указатель char, который содержит структуру. Теперь я хочу сделать следующее
unsigned char buffer[24];
//code to fill the buffer with the relevant information.
int len = ntohs((record_t*)buffer->len);
, где структура record_t содержит поле с именем len. Я не могу сделать поэтому я получаю сообщение об ошибке.
error: request for member ‘len’ in something not a structure or union.
Затем я попытался:
int len = ntohs(((record_t*)buffer)->len);
, чтобы получить правильный приоритет оператора. Это дало мне предупреждение :
разыменование указателя с типом символов нарушит строгий псевдоним rules
.
затем я объявил
record_t *rec = null;
rec = (record_t*)
, что я здесь делаю не так?