Ik ben op het gebied van C++ reelijk nieuw, heb tot nu toe alleen Java gedaan. Ik ben nu C++ aan het leren, en ik dacht van: ik ga eens een LinkedList schrijven. Ik heb de volgende header-file:
#ifndef LINKEDLIST_H
#define LINKEDLIST_H
 
template <class T>
class LinkedList
    {
    // Nested class Node
    class Node
        {
        private:
            T m_object;
            Node* m_nextNode;
        public:
            // Constructors
            Node ();
            Node (T object);
            Node (T object, Node* nextNode);
            // Destructor
            ~Node ();
                
            // Member access functions
            T& get ();
            Node* getNext ();
            void setNext (Node* nextNode);
        };
    
    private:
        Node m_firstNode;
    public:
        // Constructors
        LinkedList ();
        LinkedList (T object);
        LinkedList (const LinkedList& list);
    
        // Access functions
        T& get (int index);
        void remove (int index);
        void add (T object);
        void addAtIndex (T object, int index);
        int length ();
    };
    
#endifDeze heb ik natuurlijk geimplementeerd in een .cpp-file, dat compileert ook allemaal. Maar als ik m'n main.cpp probeer te compileren, zegt ie "main.cpp:6: request for member `add' in `list()', which is of non-aggregate type `LinkedList<int> ()()'". Wat betekent dit, en wat doe ik fout?
Dit is m'n main.cpp:
#include <iostream.h>
#include "LinkedList.h"int main () {
    LinkedList<int> list ();
    list.add (5);
    list.add (3);
    cout << list.length () << endl;
    return 0;
    }