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 ();
};
#endif
Deze 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;
}