奇怪的“强类型不匹配”lint警告,如果struct有一个构造函数

时间:2012-05-07 11:03:31

标签: c++ lint

我在二进制操作中遇到了一个奇怪的“警告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}}这里是不匹配。我是对的吗?

0 个答案:

没有答案