Код
u16 A;
u32 B[4];
//Ругается на такую конструкцию:
А = ((u16*)В)[5];
u32 B[4];
//Ругается на такую конструкцию:
А = ((u16*)В)[5];
с таким сообщемнием: warning: dereferencing type-punned pointer will break strict-aliasing rules
Причем если поставить в последней строчке преобразование в u8, то не ругается. Что это может быть, и чем это может грозить, может кто подскажет?