<?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[Kompilierfehler: (g++) ... is not a type]]></title><description><![CDATA[<p>Ein kleiner Ausschnitt aus meiner Klasse:</p>
<pre><code>template &lt;class TBandHash,
          class TQGramHash,
          class BHT,
          class QGramHashFunction&gt;
class LSH_Generic {
    typedef TQGramHash SignatureHash; 

    virtual BandHash bandHashFunction(std::vector&lt;SignatureHash&gt;::iterator sig_begin,
                                      std::vector&lt;SignatureHash&gt;::iterator sig_end);
</code></pre>
<p>In meinem Fall ist TQGramHash = uint32_t</p>
<p>Es kommt folgender Fehler:</p>
<pre><code>In file included from ../../readmapper/mapper/module/IndexOptions.h:5:0,
                 from ../../readmapper/mapper/module/IndexOptions.cpp:1:
../../readmapper/mapper/map/LSH.h:252:71: error: 'std::vector&lt;TQGramHash, std::allocator&lt;_T2&gt; &gt;::iterator' is not a type
     LSH_VIRTUAL BandHash bandHashFunction(std::vector&lt;SignatureHash&gt;::iterator sig_begin,
                                                                       ^
../../readmapper/mapper/map/LSH.h:253:71: error: 'std::vector&lt;TQGramHash, std::allocator&lt;_T2&gt; &gt;::iterator' is not a type
                                           std::vector&lt;SignatureHash&gt;::iterator sig_end);
                                                                       ^
</code></pre>
<p>Wenn ich SignatureHash direkt als uint32_t definiere (also <code>typedef uint32_t SignatureHash;</code> ) kompiliert alles fehlerfrei.</p>
<p>Warum?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/329761/kompilierfehler-g-is-not-a-type</link><generator>RSS for Node</generator><lastBuildDate>Mon, 25 May 2026 13:03:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/329761.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 06 Dec 2014 21:12:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kompilierfehler: (g++) ... is not a type on Sat, 06 Dec 2014 21:13:16 GMT]]></title><description><![CDATA[<p>Ein kleiner Ausschnitt aus meiner Klasse:</p>
<pre><code>template &lt;class TBandHash,
          class TQGramHash,
          class BHT,
          class QGramHashFunction&gt;
class LSH_Generic {
    typedef TQGramHash SignatureHash; 

    virtual BandHash bandHashFunction(std::vector&lt;SignatureHash&gt;::iterator sig_begin,
                                      std::vector&lt;SignatureHash&gt;::iterator sig_end);
</code></pre>
<p>In meinem Fall ist TQGramHash = uint32_t</p>
<p>Es kommt folgender Fehler:</p>
<pre><code>In file included from ../../readmapper/mapper/module/IndexOptions.h:5:0,
                 from ../../readmapper/mapper/module/IndexOptions.cpp:1:
../../readmapper/mapper/map/LSH.h:252:71: error: 'std::vector&lt;TQGramHash, std::allocator&lt;_T2&gt; &gt;::iterator' is not a type
     LSH_VIRTUAL BandHash bandHashFunction(std::vector&lt;SignatureHash&gt;::iterator sig_begin,
                                                                       ^
../../readmapper/mapper/map/LSH.h:253:71: error: 'std::vector&lt;TQGramHash, std::allocator&lt;_T2&gt; &gt;::iterator' is not a type
                                           std::vector&lt;SignatureHash&gt;::iterator sig_end);
                                                                       ^
</code></pre>
<p>Wenn ich SignatureHash direkt als uint32_t definiere (also <code>typedef uint32_t SignatureHash;</code> ) kompiliert alles fehlerfrei.</p>
<p>Warum?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2431529</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2431529</guid><dc:creator><![CDATA[Ramanujan]]></dc:creator><pubDate>Sat, 06 Dec 2014 21:13:16 GMT</pubDate></item><item><title><![CDATA[Reply to Kompilierfehler: (g++) ... is not a type on Sat, 06 Dec 2014 21:15:05 GMT]]></title><description><![CDATA[<p><a href="http://pages.cs.wisc.edu/~driscoll/typename.html" rel="nofollow">typename</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2431531</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2431531</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 06 Dec 2014 21:15:05 GMT</pubDate></item><item><title><![CDATA[Reply to Kompilierfehler: (g++) ... is not a type on Sat, 06 Dec 2014 21:27:47 GMT]]></title><description><![CDATA[<p>ok, danke, es geht.</p>
<p>Warum gibt es überhaupt dieses typename? Angenommen, das keyword typename würde nicht existieren. Gäbe es dann Situationen, in denen es für den Compiler nicht eindeutig ist, was gemeint ist? Ein Beispiel wäre schön, weil irgendwie hab ich bisher den Sinn von typename noch nicht verstanden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2431534</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2431534</guid><dc:creator><![CDATA[Ramanujan]]></dc:creator><pubDate>Sat, 06 Dec 2014 21:27:47 GMT</pubDate></item><item><title><![CDATA[Reply to Kompilierfehler: (g++) ... is not a type on Sat, 06 Dec 2014 21:36:26 GMT]]></title><description><![CDATA[<p>Les die verlinkte Seite.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2431536</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2431536</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Sat, 06 Dec 2014 21:36:26 GMT</pubDate></item><item><title><![CDATA[Reply to Kompilierfehler: (g++) ... is not a type on Sat, 06 Dec 2014 22:45:55 GMT]]></title><description><![CDATA[<p>Nathan schrieb:</p>
<blockquote>
<p>Les die verlinkte Seite.</p>
</blockquote>
<p>Und du <strong>lies</strong> mal einen Duden :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2431546</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2431546</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Sat, 06 Dec 2014 22:45:55 GMT</pubDate></item></channel></rss>