user41874: I have created a class like this:
#ifndef MyList_h
#define MyList_h

#include "Arduino.h"

template <typename T>
class MyList {
public:  
  MyList(void); 
  ~MyList(void);

  void addItem(T* item);

  //more stuff

};

#endif

And implementation is like this:
#include "Arduino.h"
#include "MyList.h"

template<typename T> MyList<T>::MyList(void) {
  // constructor implementation here
}

template<typename T> MyList<T>::~MyList(void) {
  // desctructor implementation here
}

template<typename T> void MyList<T>::addItem(T* item) {
  // function implementation here
}

// ...more stuff

In my .ino Sketch I'm doing this (found this solution in a C++ example):
#include "MyList.h"
MyList<word>* list = new MyList<word>(); // global scope
//... more stuff

But when compiling, Arduino IDE complains:

Test.ino:5: undefined reference to `MyList::MyList()'

I googled a bit and found this alternative way for creating the instance:
ArrayList<word>* list;

Then there's no error, just compiles file. BUT as soon as I want to use this instance (=adding code) like this:
list->addItem(i);

compiler complains again:

Test.ino:25: undefined reference to `MyList::addItem(unsigned int*)'

What's wrong? Why is this reference undefined? 
I tried another way:
ArrayList<word> list; // again global scope

But then the compiler also tells me:

Test.ino:5: undefined reference to MyList<unsigned
  int>::MyList()' /tmp/ccp8qmCz.ltrans0.ltrans.o: In function
  _GLOBAL__sub_D_list':
  /....../Test.ino:5:
  undefined reference to `MyList::~MyList()'

So, how can I create an instance of my class that uses a template?

Environment: Arduino IDE 1.8.3 (I know, I could update...) + Arduino Nano Board.

user41874: I think I found the solution:
According to: https://stackoverflow.com/questions/8752837/undefined-reference-to-template-class-constructor
--> Put all implementation in .h file. That's it. No more compler complains, code runs fine.
I think I have to dig deeper into c/c++ development ...

41874: <p>I have created a class like this:</p>

<pre><code>#ifndef MyList_h
#define MyList_h

#include "Arduino.h"

template &lt;typename T&gt;
class MyList {
public:  
  MyList(void); 
  ~MyList(void);

  void addItem(T* item);

  //more stuff

};

#endif
</code></pre>

<p>And implementation is like this:</p>

<pre><code>#include "Arduino.h"
#include "MyList.h"

template&lt;typename T&gt; MyList&lt;T&gt;::MyList(void) {
  // constructor implementation here
}

template&lt;typename T&gt; MyList&lt;T&gt;::~MyList(void) {
  // desctructor implementation here
}

template&lt;typename T&gt; void MyList&lt;T&gt;::addItem(T* item) {
  // function implementation here
}

// ...more stuff
</code></pre>

<p>In my .ino Sketch I'm doing this (found this solution in a C++ example):</p>

<pre><code>#include "MyList.h"
MyList&lt;word&gt;* list = new MyList&lt;word&gt;(); // global scope
//... more stuff
</code></pre>

<p>But when compiling, Arduino IDE complains:</p>

<blockquote>
  <p>Test.ino:5: undefined reference to `MyList::MyList()'</p>
</blockquote>

<p>I googled a bit and found this alternative way for creating the instance:</p>

<pre><code>ArrayList&lt;word&gt;* list;
</code></pre>

<p>Then there's no error, just compiles file. BUT as soon as I want to use this instance (=adding code) like this:</p>

<pre><code>list-&gt;addItem(i);
</code></pre>

<p>compiler complains again:</p>

<blockquote>
  <p>Test.ino:25: undefined reference to `MyList::addItem(unsigned int*)'</p>
</blockquote>

<p>What's wrong? Why is this reference undefined? </p>

<p>I tried another way:</p>

<pre><code>ArrayList&lt;word&gt; list; // again global scope
</code></pre>

<p>But then the compiler also tells me:</p>

<blockquote>
  <p>Test.ino:5: undefined reference to <code>MyList&lt;unsigned
  int&gt;::MyList()' /tmp/ccp8qmCz.ltrans0.ltrans.o: In function
  </code>_GLOBAL__sub_D_list':
  /....../Test.ino:5:
  undefined reference to `MyList::~MyList()'</p>
</blockquote>

<p>So, how can I create an instance of my class that uses a template?</p>

<hr>

<p>Environment: Arduino IDE 1.8.3 (I know, I could update...) + Arduino Nano Board.</p>
 41874: <p>I think I found the solution:</p>

<p>According to: <a href="https://stackoverflow.com/questions/8752837/undefined-reference-to-template-class-constructor">https://stackoverflow.com/questions/8752837/undefined-reference-to-template-class-constructor</a></p>

<p>--> Put all implementation in .h file. That's it. No more compler complains, code runs fine.</p>

<p>I think I have to dig deeper into c/c++ development ...</p>
