奇妙な「警告 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 マニュアルの説明:
値が 2 項演算子を介して別の型と結合 (結合) されている場合に、厳密な型指定をチェックします。
では、何が問題なのですか?
更新:試行の後、構造体にコンストラクターがある場合にのみこの警告が発生したようです。これは、オブジェクトを宣言する と、ここに::ip::IPAddress
ない型を返すときに何らかの形で説明できると思います。myip
私は正しいですか?