Buffer 不支持 == 判断两个对象是否相等 (只判断是否是同一个Arr内存地址)

手动判断Hardid
This commit is contained in:
WangQiang 2016-04-18 04:42:31 +00:00
parent c338a3d4b4
commit 86b7361e9e
1 changed files with 15 additions and 1 deletions

View File

@ -57,7 +57,21 @@ Device * DevicesManagement::FindDev(const Buffer & hardid) const
if (hardid.Length())return nullptr;
for (int i = 0; i < DevArr.Length(); i++)
{
if (DevArr[i] != nullptr&&hardid == DevArr[i]->HardID)return DevArr[i];
// Buffer 不支持 == 判断两个对象是否相等 只判断是否是同一个Arr内存地址
// if (DevArr[i] != nullptr&&hardid == DevArr[i]->HardID)return DevArr[i];
bool isEqual = true;
if (DevArr[i] != nullptr)
{
for (int i = 0; i < hardid.Length(); i++)
{
if (hardid[i] != DevArr[i]->HardID[i])
{
isEqual = false;
break;
}
}
}
if (isEqual)return DevArr[i];
}
return nullptr;
}