Can't cast char to unsigned char? byte RSV_Resp_test[3] = {'a', 'b', 0};
Serial.println(reinterpret_cast&lt;char&gt;(RSV_Resp_test[1]));


produces the error

error: invalid cast from type 'byte {aka unsigned char}' to type 'char'
Serial.println(reinterpret_cast&lt;char&gt;(RSV_Resp_test[1]));
                                                      ^


How can this be an ill-formed cast?  I just need to print the value as a ascii character, not as a number.
Serial.println(static_cast&lt;char&gt;(RSV_Resp_test[1]));


works.  I still don't understand why the reinterpret_cast errors out.