为什么会这样编译:
char * tst1=0;
short * tst2=0;
tst1=tst2;
tst2=tst1;
但这不会:
unsigned char * tst1=0;
unsigned short * tst2=0;
tst1=tst2;
tst2=tst1;
这只是显示我得到的编译错误的一个例子。我正在将一个项目从较旧的 IDE 移植到较新的基于 Eclipse 的 IDE,这用于编译但不在 Eclipse IDE 上。
基本上,有一堆用于编译但现在是非法的隐式转换。我想知道造成这种情况的原因以及 eclipse 上可能的解决方法,以使其再次成为警告。