ну короче прошагал по коду reinterpret_cast работает как надо. а вот разименование не работает как надо
я вот по такой штуке прошагал
Код
alt_u16* p = reinterpret_cast<alt_u16*>(&bufRecive[0]);
*p = 0x1234;
p = reinterpret_cast<alt_u16*>(&bufRecive[1]);
*p = 0x7890;
p = reinterpret_cast<alt_u16*>(&bufRecive[2]);
*p = 0x4321;
p = reinterpret_cast<alt_u16*>(&bufRecive[3]);
*p = 0x0987;
p = reinterpret_cast<alt_u16*>(&bufRecive[4]);
*p = 0x6571;
p = reinterpret_cast<alt_u16*>(&bufRecive[5]);
*p = 0x4294;
p = reinterpret_cast<alt_u16*>(&bufRecive[6]);
*p = 0x5302;
p = reinterpret_cast<alt_u16*>(&bufRecive[7]);
*p = 0x0192;
если p указывает на четный адрес, то всё нормально, после*p = 0xХХХХ; меняется два байта по адресам р и р+1. если р указывает на нечётный адрес,то меняется два байта по адресу р-1 и по адресу р
Есть у кого какие мысли?