我看到了一段有效的 C 代码,我尝试将其编译为 C++,但出现了一个我无法理解的错误。
char* t;
signed char* v = t;
char*
错误:从到的无效转换signed char*
根据我所学到的,char
在signed char
语义上是相同的,但编译器仍然认为是不同的。
我知道错误是由这两种类型之间的差异引起的,我的问题是:为什么存在这种差异?
据我所知char
,它要么作为 a 要么作为 a 实现,signed char
因此unsigned char
它应该与其中一个或另一个相同。
我咨询了这个问题,它没有回答我想知道的问题。