I saw a piece of valid C code I tried to compile as C++ and I got an error I can't understand.
char* t;
signed char* v = t;
error: invalid conversion from
char*
tosigned char*
From what I learned, char
and signed char
are semantically identical, but are still considered as different by the compiler.
I know that the error is caused by the difference between these two type, my question is: Why does this difference exists ?
As far as I know char
is implemented either as a signed char
or as a unsigned char
so it should be identical to either one or the other.
I consulted this question and it doesn't answer the point I want to know.