C++ 没有找到接受const _Ty类型的左操作数的运算符

在使用STL中的count(const )算法时报错没有找到接受const _Ty类型的左操作数的运算符
原因是 使用自己创建的双向链表类没有重载左运算符== ,添加上重载运算即可。

bool operator==(LinkList l1, LinkList l2) {
    if(l1.count != l2.count)
        return false;
    /*
     * 此处应该去数组1的header与数组2中的array[header]
     * 如果存在,则开始遍历直到i==count全部相同则返回true
     * 否则中间阶段有不相同则为false
     */
    Node *header1 = l1.header;
    Node *header2 = l2.FindByElement(header1->element);

    int i(0);
    const int count = l1.count;
    while(i<count){
        if(header2!=NULL){
            if(header1 == header2){
                header1 = header1->next;
                header2 = header2->next;
            }
            else
            {
                return false;
                break;
            }
        }
        ++i;
    }
    return true;
}

你可能感兴趣的:(C++)