If you use a type that isn't implicitly convertible from uint8_t, but still has a size of 1, the program won't compile because the code is trying to convert uint8_t to T but there's no suitable conversion.
Add a padding byte and it will compile fine, but that's not a desirable workaround.
Also adding such a conversion is not desirable for some types (e.g. enum class types).
If you use a type that isn't implicitly convertible from
uint8_t
, but still has a size of 1, the program won't compile because the code is trying to convertuint8_t
toT
but there's no suitable conversion.Add a padding byte and it will compile fine, but that's not a desirable workaround.
Also adding such a conversion is not desirable for some types (e.g.
enum class
types).