I created a private static variable that keeps track of the number of elements in the linked list.
struct node
{
        int data;
        node *next;
};    
class linkedList
    {
            private:
                    node *head,*tail;
                    static int listSize;
            public:
                linkedList()
                {
                    head=NULL;
                    tail=NULL;
                }
                void insert(int n)
                {
                        node *temp=new node;
                        temp->data=n;
                        temp->next=NULL;
                        if(head == NULL)
                        {
                                head=temp;
                                tail=temp;
                        }
                        else
                        {
                                tail->next=temp;
                                tail=temp;
                        }
                        linkedList::listSize+=1;
                }
    };
    void main()
    {
         linkedList l;
         l.insert(10);
         l.insert(20);
    }
The compiler throws an error when it reaches the line linkedList::listSize+=1;
error: ‘linkedList’ has not been declared.
 
    