1

我遇到了一个奇怪的“警告 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不是myip 这里是不匹配的事情。我对吗?

4

0 回答 0