invalid use of template name without an argument list

c++, data-structures, linked-list, templates

Solution

Write it like this:

template<typename T>
LinkedList<T>::LinkedList()
{
   start = nullptr;
   current = nullptr;
}

And similarly for other member functions. But you'll run into another problem - declarations and definitions of a template can't be separated to different files.

Problem

I am facing a problem with my linked list class, I have created the interface and implementation files of the class, but when I build it, this error occurs: "invalid use of template name 'LinkedList' without an argument list". here's my interface file: ``` #ifndef LINKEDLIST_H #define LINKEDLIST_H template <typename T> struct Node{ T info; Node<T> *next; }; template <typename T> class LinkedList { Node<T> *start; Node<T> *current; public: LinkedList(); ~LinkedList(); }; #endif // LINKEDLIST_H ``` and this is my implementation code: ``` #include "LinkedList.h" LinkedList::LinkedList() { start = nullptr; current = nullptr; } LinkedList::~LinkedList() { } ```

Original source

Related problems