Nested struct type in a template class
<pre><code>template &lt;typename vec1, typename vec2&gt;
class fakevector
{
    public:
       /* Do something */
};



template &lt;class A&gt;
class caller
{
    public:

    struct typeList
    {
        struct typeOne
        {
            //...
        };
    };

    typedef fakevector&lt;typeList::typeOne,int&gt; __methodList;  /* This will trigger compile error */

};
</code></pre>

<p>The error messages I got are: </p>

<ol>
<li><p>Error: type/value mismatch at
argument 1 in template parameter
list for ‘template class fakevector’</p></li>
<li><p>Error: expected a type, got ‘caller::typeList::typeOne’</p>

<p><strong>If</strong>  template  <strong>is removed</strong> from the caller class, <strong>no error</strong> will be reported,
like this  </p>

<p>class caller
{
    public:
       struct typeList
       { .... 
};</p></li>
</ol>

<p>I don't know the reason. Thank you very much!</p>
