g++编译警告:由于数据类型范围限制,比较结果永远为假
比如说:
char* strTemp = "http://";
if (*(strTemp + 2) == 0x74)
cout<<"T"<<endl;
else
cout<<"F"<<endl;
在linux下用g++调试,第二行出现警告:由于数据类型范围限制,比较结果永远为假。在VC6下是没有问题的,
如果变成
char* strTemp = "http://";
if (*(strTemp + 2) & 0x74 == 0x74)
cout<<"T"<<endl;
else
cout<<"F"<<endl;
在linux下用g++调试通过,但是逻辑上是不好的,有没有好的解决办法?是什么原因产生这种警告?请达人指教。