I have realized Double Linked List. And now i need to overload == operator.
dll.cpp:67:17: error: expected expression if ([ind] != sp[ind]) {
The problem i don't understand how to overload == operator if only one parameter is given. I mean if i write bool operator ==(DLL sp1, DLL sp2){} compiler says error: overloaded 'operator==' must be a binary operator (has 3 parameters)
#include<iostream>
#include<string>
using namespace std;
template<typename T>
class DLL {
public:
    DLL(){
        size = 0;
        head = nullptr;
        tail = nullptr;
    }
    T operator [](int ind) {
        int counter = 0;
        T res = T();
        Node *cur = this->head;
        while(cur != nullptr) {
            if(counter == ind) {
                res = cur->data;
            }
            cur = cur->next;
            counter++;
        }
        return res;
    }
    bool operator ==(DLL<int> sp){
        bool isequal = true;
        for(int ind = 0; ind < sp.length(); ind++){
            if ([ind] != sp[ind]) {
                isequal = false;
            }
        }
        return isequal;
    }
    void clear() {
        while(size != 1)
            pop_front();
        delete tail;
        size--;
    }
    int length() {return size;}
    }
private:
    class Node{
    public:
        T data;
        Node *next;
        Node *prev;
        Node(T data = T(), Node *prev= nullptr, Node *next = nullptr) {
            this->data = data;
            this->next = next;
            this->prev = prev;
        }
    };
    int size;
    Node *head;
    Node *tail;
};
 
     
    