Witam!
Mam strukture, gdzie jedno pole to:
uint16_t addr; // musi byc to uint16_t
Musze tam wpisać adres, przykładowo:
int value;
Mam zapewnione że adres jest mniejszy od 65535 niezależnie od architektury.
int value = 0;
uint16_t addr = static_cast<uint16_t>(&value); // invalud static_cast from type 'int*' to type 'uint16_t'
Zdaję sobie sprawe, że przestrzeń adresacji jest większa, ale jak już wpomniałem, mam zapewnione że adresy są mniejsze.
Jak to zapisać poprawnie w c++?