calling template nonstatic method from partially specialized template method : <p>The following <code>method</code> call fails because it is declared as non-static function. I don't understand why.  </p>

<pre><code>struct Test
{
    template&lt;typename T&gt; method(){return T();}
    template&lt;typename S&gt; struct W;
    template&lt;&gt; struct W&lt;int&gt;
    {
        int meth()
        {
           return method&lt;int&gt;(); // method can't be called this way
        }
    };
};
</code></pre>
