C++ lanzado sin firmar a firmado
arduino reinterpret-cast (1)
Traté de replicar esto pero no compilaría.
unsigned char x = 0;
reinterpret_cast<signed char>(x);
Dice
C:/Users/SXG5558/Documents/Arduino/sketch_jun30a/sketch_jun30a.ino: In function ''void setup()'':
sketch_jun30a:3: error: invalid cast from type ''unsigned char'' to type ''signed char''
reinterpret_cast<signed char>(x);
^
exit status 1
EDITAR:
Para ser claro, realmente quiero reinterpretar los bits en la memoria desde firmado a sin firmar. Estoy escribiendo una biblioteca I2C que lee y escribe datos sin firmar, pero estoy usando esa biblioteca para controlar los sensores que están firmados, por lo que quiero reinterpretar los datos reales.
La parte relevante de cppreference.com es
Escriba aliasing
Cuando un puntero o referencia a un objeto cuyo tipo dinámico es DynamicType es reinterpret_cast (o molde de estilo C) a un puntero o referencia al objeto de un tipo diferente AliasedType, el molde siempre tiene éxito, pero el puntero o referencia resultante solo se puede usar para acceder al objeto si uno de los siguientes es verdadero:
[...]
- AliasedType es la variante (o posiblemente calificada para cv) firmada o no firmada de DynamicType
[...]
es decir. olvidaste el &
del ejemplo que vinculaste.