<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class="im"><br>
</div>Error from Clang:<br>
<br>
 error: template argument for template type parameter must be a type; did you forget 'typename'?<br></blockquote><div><br></div><div>It' right, in that I need to use typename 'somewhere', I just didn't know where (and why).</div>
<div><br></div><div>I finally fixed it doing a typedef of this dependent type, which also makes it easy to type! :)</div><div><br></div><div><br></div><font face="courier new, monospace" size="1">template <typename K, typename V></font><br>
<span style="font-family:'courier new',monospace;font-size:x-small">class TemplateTest</span><br><font face="courier new, monospace" size="1">{<br>    typedef typename QLinkedList<V>::iterator iter;<br><br>public:<br>
    TemplateTest()<br>    {<br>        QHash<K, iter > h;<br>        Q_UNUSED(h);<br>    }<br></font><div><font face="courier new, monospace" size="1">...</font></div><div> </div><div>There's a nice explanation about 'typename' keyword here:</div>
<div><a href="http://pages.cs.wisc.edu/~driscoll/typename.html">http://pages.cs.wisc.edu/~driscoll/typename.html</a><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<br>
Note: use proper compiler next time.<br></blockquote><div><br></div><div>Note:  Using g++, which is a _very_ proper compiler. It even has a "-pedantic" switch! ;)</div><div><br></div><div><div>$ g++ --version</div>
<div>g++ (Ubuntu/Linaro 4.7.3-1ubuntu1) 4.7.3</div></div><div><br></div><div>Regards,</div><div>-mandeep</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div class="im"><br>
<br>
> Error:<br>
><br>
> templatetest.h:13: error: type/value mismatch at argument 2 in template parameter list for 'template<class Key, class T> class QHash'<br>
> templatetest.h:13: error:   expected a type, got 'QLinkedList<V>::iterator'<br>
> templatetest.h:13: error: invalid type in declaration before ';' token<br>
><br>
> However, if I keep the value as a QList (remove iterator) it compile fine.<br>
><br>
> Whats the problem with storing a Iterator as the value?<br>
><br>
> Thanks,<br>
> -mandeep<br>
><br>
</div>> ,<br>
> _______________________________________________<br>
> Interest mailing list<br>
> <a href="mailto:Interest@qt-project.org">Interest@qt-project.org</a><br>
> <a href="http://lists.qt-project.org/mailman/listinfo/interest" target="_blank">http://lists.qt-project.org/mailman/listinfo/interest</a><br>
<span class=""><font color="#888888"><br>
<br>
--<br>
Regards,<br>
Konstantin<br>
</font></span></blockquote></div><br></div></div>