<?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[Fehlermeldung wegen Templates bei Datei-Reorganisation]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe ein Klassen-Template</p>
<pre><code class="language-cpp">template&lt;class N, class C&gt; class Base_Tree
</code></pre>
<p>und eine daraus abgeleitete Klasse</p>
<pre><code class="language-cpp">class Tree : public Base_Tree&lt;Node, Node_Container&gt;
</code></pre>
<p>Dabei sind Node und Node_Container irgendwelche Klassen.</p>
<p>Bisher befanden sich die Klassendefintionen von Tree und Base_Tree sowie die Methodendefinitionen von Base_Tree in einer Datei (tree.h) und die Methodendefinitionen von Tree in einer weiteren (tree.cpp). Ich wollte nun tree.h teilen: In eine neue Datei base_tree.h kommt alles von Base_Tree, nur die Klassendefinition von Tree verbleibt in tree.h.</p>
<p>Dann erhalte ich allerdings in der Klassendefinition von Tree die Fehlermeldungen</p>
<blockquote>
<p>expected `{' before ‘&lt;’ token<br />
expected template-name before ‘&lt;’ token<br />
expected unqualified-id before ‘&lt;’ token<br />
explicit instantiation of non-template type ‘Base_Tree’</p>
</blockquote>
<p>in Bezug auf die Zeile</p>
<pre><code class="language-cpp">class Tree : public Base_Tree&lt;Node, Node_Container&gt;
</code></pre>
<p>Die Header-Datei base_tree.h ist dabei in tree.h included.</p>
<p>Ich vermute, dass ich Base_Tree vorab deklarieren muss (das Programm hat mehr als 10000 Zeilen, es ist nicht mehr übersehbar, wer hier was in welcher Reihenfolge included), weiss aber nicht, wie das geht.</p>
<p>Weiss das jemand oder hat jemand eine andere Idee, warum die Fehlermeldungen kommen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/216096/fehlermeldung-wegen-templates-bei-datei-reorganisation</link><generator>RSS for Node</generator><lastBuildDate>Sun, 11 Oct 2026 18:35:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/216096.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 19 Jun 2008 07:33:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fehlermeldung wegen Templates bei Datei-Reorganisation on Thu, 19 Jun 2008 07:33:34 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe ein Klassen-Template</p>
<pre><code class="language-cpp">template&lt;class N, class C&gt; class Base_Tree
</code></pre>
<p>und eine daraus abgeleitete Klasse</p>
<pre><code class="language-cpp">class Tree : public Base_Tree&lt;Node, Node_Container&gt;
</code></pre>
<p>Dabei sind Node und Node_Container irgendwelche Klassen.</p>
<p>Bisher befanden sich die Klassendefintionen von Tree und Base_Tree sowie die Methodendefinitionen von Base_Tree in einer Datei (tree.h) und die Methodendefinitionen von Tree in einer weiteren (tree.cpp). Ich wollte nun tree.h teilen: In eine neue Datei base_tree.h kommt alles von Base_Tree, nur die Klassendefinition von Tree verbleibt in tree.h.</p>
<p>Dann erhalte ich allerdings in der Klassendefinition von Tree die Fehlermeldungen</p>
<blockquote>
<p>expected `{' before ‘&lt;’ token<br />
expected template-name before ‘&lt;’ token<br />
expected unqualified-id before ‘&lt;’ token<br />
explicit instantiation of non-template type ‘Base_Tree’</p>
</blockquote>
<p>in Bezug auf die Zeile</p>
<pre><code class="language-cpp">class Tree : public Base_Tree&lt;Node, Node_Container&gt;
</code></pre>
<p>Die Header-Datei base_tree.h ist dabei in tree.h included.</p>
<p>Ich vermute, dass ich Base_Tree vorab deklarieren muss (das Programm hat mehr als 10000 Zeilen, es ist nicht mehr übersehbar, wer hier was in welcher Reihenfolge included), weiss aber nicht, wie das geht.</p>
<p>Weiss das jemand oder hat jemand eine andere Idee, warum die Fehlermeldungen kommen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1532007</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1532007</guid><dc:creator><![CDATA[ingobulla]]></dc:creator><pubDate>Thu, 19 Jun 2008 07:33:34 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung wegen Templates bei Datei-Reorganisation on Thu, 19 Jun 2008 07:45:08 GMT]]></title><description><![CDATA[<p>In deiner tree.h müssen voraussichtlich die folgenden Klasssen vollständig bekannt sein (Include):<br />
a) Node<br />
b) Node_Container<br />
c) Base_Tree</p>
<p>Je nach Aufbau des Templates mag es für Node und Node_Container nicht gelten, die Wahrscheinlichkeit ist aber recht hoch.</p>
<p>Es könnte sich aber vielleicht auch um andere Fehler handeln, anhand des gezeigten Codes kann ich das aber nicht sehen.</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1532013</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1532013</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Thu, 19 Jun 2008 07:45:08 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung wegen Templates bei Datei-Reorganisation on Thu, 19 Jun 2008 07:53:47 GMT]]></title><description><![CDATA[<p>Ich habe vor der Klassendefinition von Tree mittels</p>
<pre><code class="language-cpp">class Node;
class Node_Container;
</code></pre>
<p>Node und Node_Container vorab deklariert (und ihre Header-Files included). Meine Vermutung ist nun, dass ich das vorab deklarieren auch für Base_Tree machen muss. Wie man Klassen-Templates vorab deklariert, ist mir aber nicht bekannt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1532016</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1532016</guid><dc:creator><![CDATA[ingobulla]]></dc:creator><pubDate>Thu, 19 Jun 2008 07:53:47 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung wegen Templates bei Datei-Reorganisation on Thu, 19 Jun 2008 08:10:38 GMT]]></title><description><![CDATA[<p>ingobulla schrieb:</p>
<blockquote>
<p>Ich habe vor der Klassendefinition von Tree mittels...Node und Node_Container vorab deklariert (und ihre Header-Files included).</p>
</blockquote>
<p>Entweder Forward Declaration im Header (und Include im Source) oder Include im Header, nicht beides. Und hier wird der Include nötig sein. Und ein Template lässt sich nicht vorwärts deklarieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1532031</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1532031</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Thu, 19 Jun 2008 08:10:38 GMT</pubDate></item></channel></rss>