自定义结构体typedef struct _Resource
{
DWORD32 ID;
DWORD32 resourceCode;
DWORD32 type;
}TResource;
main()
{
TResource record;
QList<TResource> tmpResourceList;
tmpResourceList.append(record);
tmpResourceList.append(record);
tmpResourceList.append(record);
tmpResourceList.contains(record);//报错:没有匹配的操作符==
}
解决方法:
将自定义结构体类型定义如下就可以了
typedef struct _Resource
{
DWORD32 ID;
DWORD32 resourceCode;
DWORD32 type;
//重载操作符
bool operator==(const _Resource &dept) const
{
if (memcmp(this, &dept, sizeof(_Resource)) == 0)
{
return true;
}
return false;
}
}TResource;
除了这种方法,大家还有其他解决方法吗?