Trouble with templates
<p>I was in a bad need of a list type for holding named structs with in turn an arbitrary number of members of one same type, represented by a pointer. The full project code uses Qt (if that's important).</p>

<p>So I wrote this:</p>

<pre><code>/* 
 * This should be used with T as a pointer type.
 * Code gets really incomprehensible if T* value is used as member.
 */
template &lt;typename T&gt;
struct parameter_t {
    QString name;
    int count;
    T value;
};

template &lt;typename T&gt;
class Parameters {
private:
    typedef struct parameter_t&lt; T &gt; content_t; // beautification

public:
    void addParam(const QString &amp;name, T value, int count);
private:
    std::list&lt; content_t &gt;* params;
};

typedef Parameters&lt;float*&gt; floatParameters; // beautification
</code></pre>

<p>Seems more than legit to me, for the actual implementation does compile error-free and stuff.</p>

<p>Now, from another location, I'm calling the following:</p>

<pre><code>floatParameters* params = new floatParameters();
params-&gt;addParam("Ente", (float*) x, 1);
</code></pre>

<p>This results in compiler errors, including:</p>

<pre><code>In function `...': HelperClasses.cc:(.text+0x225): undefined reference to Parameters&lt;float*&gt;::addParam(QString const&amp;, float*, int)'
</code></pre>

<p>As you can clearly see, I'm creating floatParameters, so it's Parameters. In other words, the addParam member should translate to</p>

<pre><code>void addParam(const QString &amp;name, float* value, int count);
</code></pre>

<p>Why am I getting this error?</p>
