我在二进制操作中遇到了一个奇怪的“警告639:强类型不匹配类型'myip'”
//file ip4.h
#include <IPAddress.h> // which have ::ip::IPAddress
typedef ::ip::IPAddress myip;
myip myiptest; // lint Warning 639
::ip::IPAddress ip2; // No lint warnings
IPAddress.h文件包含:: ip :: IPAddress,如下所示
namespace ip
{
struct IPAddress
{
IPAddress();
...
};
}
我认为这里没有不匹配!有关此错误的PC-lint手册说明:
当值加入(即合并)时检查强类型 跨二元运算符的另一种类型。
那有什么不对?
更新:在试验之后,只有在结构体有构造函数的情况下才会出现此警告,我认为当我声明一个对象返回类型::ip::IPAddress
而不是{{ 1}}这里是不匹配。我是对的吗?