<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[template parameters not used in partial specialization]]></title><description><![CDATA[<p>Minimalbeispiel:</p>
<pre><code class="language-cpp">template&lt;class X&gt;
struct Test;

template&lt;class A, class B&gt;
struct Test2 { // Zeile 28

    template&lt;class C&gt;
    struct Test3 {
    };

};

template&lt;class A, class B, class C&gt;
struct Test&lt;typename Test2&lt;A,B&gt;::template Test3&lt;C&gt; &gt; {

};
</code></pre>
<p>Fehlermeldung:<br />
test.cpp:28:8: error: template parameters not used in partial specialization:<br />
test.cpp:28:8: error: ‘A’<br />
test.cpp:28:8: error: ‘B’</p>
<p>compiler:<br />
g++ (SUSE Linux) 4.5.0 20100604 [gcc-4_5-branch revision 160292]</p>
<p>Ist das ein Compiler-spezifischer fehler? Ich glaube das mit äkteren Compilern schon übersetzt zu haben ...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/272941/template-parameters-not-used-in-partial-specialization</link><generator>RSS for Node</generator><lastBuildDate>Fri, 28 Aug 2026 12:27:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/272941.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 27 Aug 2010 23:33:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to template parameters not used in partial specialization on Fri, 27 Aug 2010 23:33:48 GMT]]></title><description><![CDATA[<p>Minimalbeispiel:</p>
<pre><code class="language-cpp">template&lt;class X&gt;
struct Test;

template&lt;class A, class B&gt;
struct Test2 { // Zeile 28

    template&lt;class C&gt;
    struct Test3 {
    };

};

template&lt;class A, class B, class C&gt;
struct Test&lt;typename Test2&lt;A,B&gt;::template Test3&lt;C&gt; &gt; {

};
</code></pre>
<p>Fehlermeldung:<br />
test.cpp:28:8: error: template parameters not used in partial specialization:<br />
test.cpp:28:8: error: ‘A’<br />
test.cpp:28:8: error: ‘B’</p>
<p>compiler:<br />
g++ (SUSE Linux) 4.5.0 20100604 [gcc-4_5-branch revision 160292]</p>
<p>Ist das ein Compiler-spezifischer fehler? Ich glaube das mit äkteren Compilern schon übersetzt zu haben ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1945270</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1945270</guid><dc:creator><![CDATA[LIPS]]></dc:creator><pubDate>Fri, 27 Aug 2010 23:33:48 GMT</pubDate></item><item><title><![CDATA[Reply to template parameters not used in partial specialization on Sat, 28 Aug 2010 04:22:54 GMT]]></title><description><![CDATA[<p>LIPS schrieb:</p>
<blockquote>
<pre><code class="language-cpp">template&lt;class A, class B, class C&gt;
struct Test&lt;typename Test2&lt;A,B&gt;::template Test3&lt;C&gt; &gt; {

};
</code></pre>
</blockquote>
<p>typename Test2&lt;A,B&gt;::template Test3&lt;C&gt; ist kein &quot;deduzibler Kontext&quot; bzgl A und B. Das heißt, der Compiler kann aus dem Template-Parameter X nicht ableiten, was A und B sein soll.</p>
<p>Lösen könnte man das, indem Du Test3 als Template mit 3 Parametern außerhalb von Test2 deklarierst:</p>
<pre><code class="language-cpp">template&lt;class A, class B, class C&gt;
struct Test3 {
};

template&lt;class A, class B, class C&gt;
struct Test&lt;Test3&lt;A,B,C&gt; &gt; {
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1945278</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1945278</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Sat, 28 Aug 2010 04:22:54 GMT</pubDate></item></channel></rss>