<?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 Spezialisierung - Was bedeutet dieser Fehler?]]></title><description><![CDATA[<p>Folgende Situation:</p>
<pre><code class="language-cpp">template&lt;ubyte_t Size = sizeof(unsigned)&gt;
class uint
{
public: //
        typedef unsigned _t;
};

template&lt;4&gt; // Spezialisiert für 1, 2, 4 und 8
class uint
{
public: //
        typedef uint32_t _t;
};

template&lt;ubyte_t Bpp&gt;
uint&lt;Bpp&gt;::_t Bgrx(uint&lt;Bpp&gt;::_t A,
                   uint&lt;Bpp&gt;::_t B)
{
        // Diese Funktion lässt sich nicht kompilieren...
}
</code></pre>
<p>Nun bekomme ich aber, obwohl ich die Funktion noch nicht einmal verwende viele Fehler: &quot;uint&lt;Size&gt;::_t: dependent name is not a type&quot;, &quot;syntax error: missing ';' before identifier Bgrx&quot; und &quot;missing type specifier - int assumed. Note: C++ doesn't support default-int&quot;<br />
Ich verwende Visual C++ 8 und will via Template Spezialisierung den passenden Integertypen für die entsprechende Byteanzahl erhalten. uint&lt;8&gt;::_t soll also einem unsigned __int64 bzw. einem unsigned long long entsprechen. Das ist unbedingt nötig, da ich sonst eine ganze Reihe von Funktionen mehrmals schreiben müsste. Warum geht das nicht?!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/122908/template-spezialisierung-was-bedeutet-dieser-fehler</link><generator>RSS for Node</generator><lastBuildDate>Sun, 23 Aug 2026 08:56:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/122908.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 11 Oct 2005 12:59:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Template Spezialisierung - Was bedeutet dieser Fehler? on Tue, 11 Oct 2005 12:59:13 GMT]]></title><description><![CDATA[<p>Folgende Situation:</p>
<pre><code class="language-cpp">template&lt;ubyte_t Size = sizeof(unsigned)&gt;
class uint
{
public: //
        typedef unsigned _t;
};

template&lt;4&gt; // Spezialisiert für 1, 2, 4 und 8
class uint
{
public: //
        typedef uint32_t _t;
};

template&lt;ubyte_t Bpp&gt;
uint&lt;Bpp&gt;::_t Bgrx(uint&lt;Bpp&gt;::_t A,
                   uint&lt;Bpp&gt;::_t B)
{
        // Diese Funktion lässt sich nicht kompilieren...
}
</code></pre>
<p>Nun bekomme ich aber, obwohl ich die Funktion noch nicht einmal verwende viele Fehler: &quot;uint&lt;Size&gt;::_t: dependent name is not a type&quot;, &quot;syntax error: missing ';' before identifier Bgrx&quot; und &quot;missing type specifier - int assumed. Note: C++ doesn't support default-int&quot;<br />
Ich verwende Visual C++ 8 und will via Template Spezialisierung den passenden Integertypen für die entsprechende Byteanzahl erhalten. uint&lt;8&gt;::_t soll also einem unsigned __int64 bzw. einem unsigned long long entsprechen. Das ist unbedingt nötig, da ich sonst eine ganze Reihe von Funktionen mehrmals schreiben müsste. Warum geht das nicht?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/889604</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/889604</guid><dc:creator><![CDATA[User6457585668679987]]></dc:creator><pubDate>Tue, 11 Oct 2005 12:59:13 GMT</pubDate></item><item><title><![CDATA[Reply to Template Spezialisierung - Was bedeutet dieser Fehler? on Tue, 11 Oct 2005 13:21:32 GMT]]></title><description><![CDATA[<p>typename bei typedef im Template vergessen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/889631</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/889631</guid><dc:creator><![CDATA[Mathias]]></dc:creator><pubDate>Tue, 11 Oct 2005 13:21:32 GMT</pubDate></item><item><title><![CDATA[Reply to Template Spezialisierung - Was bedeutet dieser Fehler? on Tue, 11 Oct 2005 13:25:56 GMT]]></title><description><![CDATA[<p>Mathias schrieb:</p>
<blockquote>
<p>typename bei typedef im Template vergessen.</p>
</blockquote>
<p>Was soll das jetzt wieder heissen? Der Compiler sagt: &quot;prefix with 'typename' to indicate a type&quot;<br />
Aber wo kommt das typename denn hin?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/889633</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/889633</guid><dc:creator><![CDATA[User6457585668679987]]></dc:creator><pubDate>Tue, 11 Oct 2005 13:25:56 GMT</pubDate></item><item><title><![CDATA[Reply to Template Spezialisierung - Was bedeutet dieser Fehler? on Tue, 11 Oct 2005 13:39:57 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">template&lt;ubyte_t Bpp&gt;
typename uint&lt;Bpp&gt;::_t Bgrx(typename uint&lt;Bpp&gt;::_t A,
                   typename uint&lt;Bpp&gt;::_t B)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/889642</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/889642</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Tue, 11 Oct 2005 13:39:57 GMT</pubDate></item><item><title><![CDATA[Reply to Template Spezialisierung - Was bedeutet dieser Fehler? on Tue, 11 Oct 2005 13:43:36 GMT]]></title><description><![CDATA[<p>miller_m schrieb:</p>
<blockquote>
<pre><code class="language-cpp">template&lt;ubyte_t Bpp&gt;
typename uint&lt;Bpp&gt;::_t Bgrx(typename uint&lt;Bpp&gt;::_t A,
                   typename uint&lt;Bpp&gt;::_t B)
</code></pre>
</blockquote>
<p>Danke Junge <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/889648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/889648</guid><dc:creator><![CDATA[User6457585668679987]]></dc:creator><pubDate>Tue, 11 Oct 2005 13:43:36 GMT</pubDate></item></channel></rss>