<?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[Problem mit Aufruf von templates in einer Funktion]]></title><description><![CDATA[<p>Hallo,</p>
<p>folgendes Problem. Habe die template-Klasse TraversalGraph. Der folgende Aufruf,</p>
<pre><code class="language-cpp">TraversableGraph&lt;char&gt; g(10);
</code></pre>
<p>funktioniert einwandfrei.</p>
<p>Jetzt zum eigentlichen Problem. In einer anderen Klasse habe ich folgende abstrakte Funktion:</p>
<pre><code class="language-cpp">virtual void visit(TraversableGraph *g, unsigned int id) = 0;
</code></pre>
<p>Das klappt aber nicht. Kann also keine template-Klasse aus einer anderen Klasse heraus aufrufen. Habe ebenfalls das hier versucht:</p>
<pre><code class="language-cpp">virtual void visit(TraversableGraph&lt;T&gt; *g, unsigned int id) = 0;
</code></pre>
<p>und das hier</p>
<pre><code class="language-cpp">virtual void visit(TraversableGraph&lt;char&gt; *g, unsigned int id) = 0;
</code></pre>
<p>Klappt alles nicht. Wie krieg ich den Aufruf hin? Was muss man bei Templates beachten? Wär nice, wenn das jemand wüsste.</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/271545/problem-mit-aufruf-von-templates-in-einer-funktion</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 09:22:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/271545.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 30 Jul 2010 11:16:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit Aufruf von templates in einer Funktion on Fri, 30 Jul 2010 11:16:39 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>folgendes Problem. Habe die template-Klasse TraversalGraph. Der folgende Aufruf,</p>
<pre><code class="language-cpp">TraversableGraph&lt;char&gt; g(10);
</code></pre>
<p>funktioniert einwandfrei.</p>
<p>Jetzt zum eigentlichen Problem. In einer anderen Klasse habe ich folgende abstrakte Funktion:</p>
<pre><code class="language-cpp">virtual void visit(TraversableGraph *g, unsigned int id) = 0;
</code></pre>
<p>Das klappt aber nicht. Kann also keine template-Klasse aus einer anderen Klasse heraus aufrufen. Habe ebenfalls das hier versucht:</p>
<pre><code class="language-cpp">virtual void visit(TraversableGraph&lt;T&gt; *g, unsigned int id) = 0;
</code></pre>
<p>und das hier</p>
<pre><code class="language-cpp">virtual void visit(TraversableGraph&lt;char&gt; *g, unsigned int id) = 0;
</code></pre>
<p>Klappt alles nicht. Wie krieg ich den Aufruf hin? Was muss man bei Templates beachten? Wär nice, wenn das jemand wüsste.</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1933967</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1933967</guid><dc:creator><![CDATA[Rafzahn]]></dc:creator><pubDate>Fri, 30 Jul 2010 11:16:39 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Aufruf von templates in einer Funktion on Fri, 30 Jul 2010 11:26:30 GMT]]></title><description><![CDATA[<p>Rafzahn schrieb:</p>
<blockquote>
<p>Jetzt zum eigentlichen Problem. In einer anderen Klasse habe ich folgende abstrakte Funktion:</p>
<pre><code class="language-cpp">virtual void visit(TraversableGraph *g, unsigned int id) = 0;
</code></pre>
<p>Das klappt aber nicht. Kann also keine template-Klasse aus einer anderen Klasse heraus aufrufen.</p>
</blockquote>
<p>Ein Template ist wörtlich übersetzt eine Schablone. Es gibt keine Klasse <code>TraversableGraph</code> . Es gibt nur verschiedene Klassen <code>TraversableGraph&lt;Typ&gt;</code> , die nach dieser Schablone erstellt werden. So wie man mit der gleichen Plätzchenform, Plätzchen aus unterschiedlichen Teigsorten machen kann. Wenn du ein <code>TraverseableGraph</code> verwenden willst, musst du dem Compiler schon noch sagen, welchen Teig (=Typ) er benutzen soll <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> .</p>
<blockquote>
<p>Habe ebenfalls das hier versucht:</p>
<pre><code class="language-cpp">virtual void visit(TraversableGraph&lt;T&gt; *g, unsigned int id) = 0;
</code></pre>
</blockquote>
<p>Das sollte funktionieren, sofern T ein Typ ist. T kann darf dabei natürlich auch ein Templateparameter sein:</p>
<pre><code class="language-cpp">template&lt;typename T&gt; virtual void visit(TraversableGraph&lt;T&gt; *g, unsigned int id) = 0;
</code></pre>
<blockquote>
<p>und das hier</p>
<pre><code class="language-cpp">virtual void visit(TraversableGraph&lt;char&gt; *g, unsigned int id) = 0;
</code></pre>
</blockquote>
<p>Das sollte erst recht funktionieren, da char eindeutig ein Typ ist und du oben geschrieben hast, dass du <code>TraversableGraph&lt;char&gt;</code> schon benutzt.</p>
<blockquote>
<p>Klappt alles nicht. Wie krieg ich den Aufruf hin? Was muss man bei Templates beachten? Wär nice, wenn das jemand wüsste.</p>
</blockquote>
<p>Vermutlich machst du noch etwas anderes falsch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1933973</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1933973</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 30 Jul 2010 11:26:30 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Aufruf von templates in einer Funktion on Fri, 30 Jul 2010 11:28:35 GMT]]></title><description><![CDATA[<p>Thx für die schnelle Antwort. Es wird wohl echt an was anderem liegen... Ich such mal weiter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1933975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1933975</guid><dc:creator><![CDATA[Rafzahn]]></dc:creator><pubDate>Fri, 30 Jul 2010 11:28:35 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Aufruf von templates in einer Funktion on Fri, 30 Jul 2010 11:29:41 GMT]]></title><description><![CDATA[<p>Warum funktioniert das untere nicht? Welche Fehlermeldung?</p>
<p>Ansonsten muss man daran denken, dass Templates nur Schablonen sind. Die Schablonen selber existieren nicht, bis du eine konkrete Klasse damit anlegst (--&gt; TraversableGraph&lt;char&gt;).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1933979</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1933979</guid><dc:creator><![CDATA[Roger Wilco]]></dc:creator><pubDate>Fri, 30 Jul 2010 11:29:41 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Aufruf von templates in einer Funktion on Fri, 30 Jul 2010 11:31:24 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Du mußt dich irgendwo vertippt haben. Dein letztes Beispiel müsste gehen. Hier mein Test:</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt; 
#include &lt;stdlib.h&gt;

template &lt;class T&gt; class Hello
{
	T	test;

public:
	Hello( int n )
	{
		test = n;
	}

	T get( void ) const
	{
		return test;
	}
};

class abstractT
{
public:
	virtual void init( Hello&lt;char&gt; *t ) = 0;
};

class base : public abstractT
{
public:
	virtual void init( Hello&lt;char&gt; *t );
};

void base::init( Hello&lt;char&gt; *t )
{
	printf( &quot;%d\n&quot;, (int)t-&gt;get() );
}

int main( void ) 
{
	Hello&lt;char&gt;	tempItem(20);
	abstractT	*outer = new base;

	outer-&gt;init( &amp;tempItem );
	return 0;
}
</code></pre>
<p>mfg Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1933981</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1933981</guid><dc:creator><![CDATA[mgaeckler]]></dc:creator><pubDate>Fri, 30 Jul 2010 11:31:24 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Aufruf von templates in einer Funktion on Fri, 30 Jul 2010 11:53:17 GMT]]></title><description><![CDATA[<p>Thx für die rege Beteiligung!</p>
<p>Martin, habe mir auch so ein kleines Nebenbeispiel gemcht und da hauts hin.</p>
<p>Bei dem anderen hab ich leider immernoch net raus was da los ist. Total komisch, hab auch x mal nachgeschaut ob ich Traversable richtig geschrieben hab <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Zu der Fehlermeldung:</p>
<p>Wenn ich die version mit eingesetztem Typ benutze, die ja am ehesten gehen müsste:</p>
<pre><code class="language-cpp">virtual void visit(TraversableGraph&lt;char&gt; *g, unsigned int id) = 0;
</code></pre>
<p>dann kommt der Fehler:</p>
<p>traversal.h(10) : error C2061: Syntaxfehler: Bezeichner 'TraversableGraph'</p>
<p>Ist bestimmt wieder so eine verflixte Kleinigkeit...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1933993</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1933993</guid><dc:creator><![CDATA[Rafzahn]]></dc:creator><pubDate>Fri, 30 Jul 2010 11:53:17 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Aufruf von templates in einer Funktion on Fri, 30 Jul 2010 11:55:23 GMT]]></title><description><![CDATA[<p>Rafzahn schrieb:</p>
<blockquote>
<p>traversal.h(10) : error C2061: Syntaxfehler: Bezeichner 'TraversableGraph'</p>
</blockquote>
<p>Ist das die ganze Fehlermeldung? Was für ein armseliger Compiler ist das denn?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1934000</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1934000</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 30 Jul 2010 11:55:23 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Aufruf von templates in einer Funktion on Fri, 30 Jul 2010 12:04:31 GMT]]></title><description><![CDATA[<p>Rafzahn schrieb:</p>
<blockquote>
<p>Wenn ich die version mit eingesetztem Typ benutze, die ja am ehesten gehen müsste:</p>
<pre><code class="language-cpp">virtual void visit(TraversableGraph&lt;char&gt; *g, unsigned int id) = 0;
</code></pre>
<p>dann kommt der Fehler:</p>
<p>traversal.h(10) : error C2061: Syntaxfehler: Bezeichner 'TraversableGraph'</p>
<p>Ist bestimmt wieder so eine verflixte Kleinigkeit...</p>
</blockquote>
<p>Schau mal, was Dein Präprozessor daraus gemacht hat. Vielleicht irgendein Macro, das dazwischen funkt.</p>
<p>Ansonsten ist eine beliebte Ursache für solche Scheißfehler: Irgendwo ein Semikolon vergessen?</p>
<p>mfg Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1934003</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1934003</guid><dc:creator><![CDATA[mgaeckler]]></dc:creator><pubDate>Fri, 30 Jul 2010 12:04:31 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Aufruf von templates in einer Funktion on Fri, 30 Jul 2010 12:09:40 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Rafzahn schrieb:</p>
<blockquote>
<p>traversal.h(10) : error C2061: Syntaxfehler: Bezeichner 'TraversableGraph'</p>
</blockquote>
<p>Ist das die ganze Fehlermeldung? Was für ein armseliger Compiler ist das denn?</p>
</blockquote>
<p>Sieht nach MSVC aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1934008</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1934008</guid><dc:creator><![CDATA[Roger Wilco]]></dc:creator><pubDate>Fri, 30 Jul 2010 12:09:40 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Aufruf von templates in einer Funktion on Fri, 30 Jul 2010 12:35:09 GMT]]></title><description><![CDATA[<p>Jop ist der Compiler von Visual Studio 2008. Ist schämen angebracht? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Hab wieder bissl rumprobiert und jetzt wirds echt witzig. Hab über der main()-Funktion folgende Funktion eingefügt:</p>
<pre><code class="language-cpp">void asdf(TraversableGraph&lt;char&gt; *g)  {}
</code></pre>
<p>Funktioniert. Wird vom Compiler akzeptiert. Dann hab ich einfach mal diese Funktion per copy/paste in meine Klasse in der ich diesen visit-Aufruf brauch hin verschoben.</p>
<p>Restulat, in der Klasse bringt der Compiler obige Fehlermeldung in der main gehts, so lol.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1934015</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1934015</guid><dc:creator><![CDATA[Rafzahn]]></dc:creator><pubDate>Fri, 30 Jul 2010 12:35:09 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Aufruf von templates in einer Funktion on Fri, 30 Jul 2010 12:52:08 GMT]]></title><description><![CDATA[<p>Haste denn die Header-Datei in der TraversableGraph deklariert wird auch inkludiert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1934019</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1934019</guid><dc:creator><![CDATA[Roger Wilco]]></dc:creator><pubDate>Fri, 30 Jul 2010 12:52:08 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Aufruf von templates in einer Funktion on Fri, 30 Jul 2010 13:04:42 GMT]]></title><description><![CDATA[<p>So Problem gelöst. Wenns jemand noch interessiert was los war, es scheint ein Problem mit dem Compiler zu sein. Habe eine Komplett neue Klasse, also auch mit neuem Namen erstellt und dann gings auf einmal.</p>
<p>Des Ding ist auch, wenn ich die alte Klasse restlos lösche und sie neu erstelle kommt der Fehler wieder. Auch ein &quot;Projekt bereinigen&quot;, was im visual studio im menü zur Verfügung steht, ändert nichts dran. Muss daher einfach einen anderen Namen für die Klasse benutzen und dann passts.</p>
<p>Kann es sein, daß der Compiler von Microsoft müll ist? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1934029</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1934029</guid><dc:creator><![CDATA[Rafzahn]]></dc:creator><pubDate>Fri, 30 Jul 2010 13:04:42 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Aufruf von templates in einer Funktion on Fri, 30 Jul 2010 13:09:51 GMT]]></title><description><![CDATA[<p>Rafzahn schrieb:</p>
<blockquote>
<p>Kann es sein, daß der Compiler von Microsoft müll ist? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
</blockquote>
<p>Ohne den MS Compiler zu kennen: Nein, das ist kein Fehler im Compiler. Da ist noch irgend etwas anderes im Gange.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1934033</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1934033</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 30 Jul 2010 13:09:51 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Aufruf von templates in einer Funktion on Fri, 30 Jul 2010 13:16:07 GMT]]></title><description><![CDATA[<p>Rafzahn schrieb:</p>
<blockquote>
<p>Kann es sein, daß der Compiler von Microsoft müll ist? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
</blockquote>
<p>Weniger. Aber es ist natürlich einfacher, dem Compiler die Schuld in die Schuhe zu schieben. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Ist vielleicht ein Namensraum im Spiel, der einmal ausgeleert wurde und einmal nicht? Oder irgendwelche Sonderzeichen, die beim Kompilieren nicht richtig erkannt werden (z.B. bei kopiertem Quellcode)? Versuch doch, ein Minimalbeispiel hinzukriegen, das den Fehler immer noch aufzeigt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1934038</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1934038</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 30 Jul 2010 13:16:07 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Aufruf von templates in einer Funktion on Fri, 30 Jul 2010 13:42:06 GMT]]></title><description><![CDATA[<p>Ja, gut möglich. Muss die Übung heute mal abschließen und dann geh ich dem Fehler auf den Grund.</p>
<p>cu all und danke für die Anteilnahme.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1934055</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1934055</guid><dc:creator><![CDATA[Rafzahn]]></dc:creator><pubDate>Fri, 30 Jul 2010 13:42:06 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Aufruf von templates in einer Funktion on Fri, 30 Jul 2010 14:20:19 GMT]]></title><description><![CDATA[<p>Fehler endgültig gefunden!</p>
<p>War ein Problem mit dem Präprozessor!<br />
In der TraversableGraph.h hatte ich das hier:</p>
<pre><code class="language-cpp">#include &quot;Traversal.h&quot;
</code></pre>
<p>und in der Traversal.h</p>
<pre><code class="language-cpp">#include &quot;TraversableGraph.h&quot;
</code></pre>
<p>Die haben sich gegenseitig includiert und das hat der Compiler nicht vertragen.</p>
<p>Ist meiner Meinung nach wirklich eine Compilerschwäche. Der könnte ruhig mitzählen wie oft eine Header-Datei angefasst wird. Bin normalerweise Java gewohnt und dort hatte ich noch nie Probleme mit imports.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1934066</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1934066</guid><dc:creator><![CDATA[Rafzahn]]></dc:creator><pubDate>Fri, 30 Jul 2010 14:20:19 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Aufruf von templates in einer Funktion on Fri, 30 Jul 2010 14:57:11 GMT]]></title><description><![CDATA[<p>Rafzahn schrieb:</p>
<blockquote>
<p>Fehler endgültig gefunden!</p>
<p>War ein Problem mit dem Präprozessor!<br />
In der TraversableGraph.h hatte ich das hier:</p>
<pre><code class="language-cpp">#include &quot;Traversal.h&quot;
</code></pre>
<p>und in der Traversal.h</p>
<pre><code class="language-cpp">#include &quot;TraversableGraph.h&quot;
</code></pre>
<p>Die haben sich gegenseitig includiert und das hat der Compiler nicht vertragen.</p>
<p>Ist meiner Meinung nach wirklich eine Compilerschwäche. Der könnte ruhig mitzählen wie oft eine Header-Datei angefasst wird. Bin normalerweise Java gewohnt und dort hatte ich noch nie Probleme mit imports.</p>
</blockquote>
<p>Wieso sollte er? Das wäre ganz komisch wenn er das von sich aus täte. Wenn du willst, dass er das tut, nimm so etwas wie <code>#pragma once</code> . Vor Zirkularinklusion schützt dich dies jedoch auch nicht, weil dies ein Fehler in deinem Programmaufbau ist.</p>
<p>Ich bin jedoch noch immer entgeistert von der knappen Fehlermeldung. War das wirklich alles?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1934086</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1934086</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 30 Jul 2010 14:57:11 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Aufruf von templates in einer Funktion on Fri, 30 Jul 2010 15:43:52 GMT]]></title><description><![CDATA[<p>Rafzahn schrieb:</p>
<blockquote>
<p>Ist meiner Meinung nach wirklich eine Compilerschwäche. Der könnte ruhig mitzählen wie oft eine Header-Datei angefasst wird.</p>
</blockquote>
<p>Das nennt sich Include-Guards und geht auch auf Sprachebene. Allerdings steckt da keine Magie dahinter, sondern es wird nur die mehrfache Inkludierung des gleichen Headers innerhalb einer Übersetzungseinheit verhindert. Bei falscher Anwendung wie zirkulären <code>#include</code> s nützt auch das nichts. Denn das ist ein Logik-/Designfehler, wobei es nicht die Aufgabe des Compilers ist, diesen zu beheben.</p>
<p>Rafzahn schrieb:</p>
<blockquote>
<p>Bin normalerweise Java gewohnt und dort hatte ich noch nie Probleme mit imports.</p>
</blockquote>
<p>Das Modulsystem von Java funktioniert komplett anders als die Header- und Implementierungsdateien in C++, das kannst du nicht vergleichen. Hier musst du eben etwas mehr selbst überlegen, besonders was die Trennung von Deklaration und Definition angeht. Entsprechend kannst du nicht davon ausgehen, dass modulare Programmierung in C++ gleich wie in Java abläuft. Ein <code>#include</code> ist nicht mehr als eine Textersetzung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1934111</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1934111</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 30 Jul 2010 15:43:52 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Aufruf von templates in einer Funktion on Sat, 31 Jul 2010 09:19:43 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/19375">@SeppJ</a>: Ja, das war wirklich alles. Traurig aber wahr.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/12954">@Nexus</a>: Vor allem wenn man vorher Java benutzt hat, merkt man dass cpp einfach aelter ist. Was die Objektorientierung angeht ist Java um einiges komfortabler. Man kann den Machern aber keinen Vorwurf machen, Sie haben ja damals schließlich Neuland betreten und die Java-Leute mussten es nur nachbauen und verbessern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1934318</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1934318</guid><dc:creator><![CDATA[Rafzahn]]></dc:creator><pubDate>Sat, 31 Jul 2010 09:19:43 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Aufruf von templates in einer Funktion on Sat, 31 Jul 2010 11:34:44 GMT]]></title><description><![CDATA[<p>Rafzahn schrieb:</p>
<blockquote>
<p>Was die Objektorientierung angeht ist Java um einiges komfortabler.</p>
</blockquote>
<p>Warum?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1934352</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1934352</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Sat, 31 Jul 2010 11:34:44 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Aufruf von templates in einer Funktion on Sat, 31 Jul 2010 11:46:29 GMT]]></title><description><![CDATA[<p>Michael E. schrieb:</p>
<blockquote>
<p>Rafzahn schrieb:</p>
<blockquote>
<p>Was die Objektorientierung angeht ist Java um einiges komfortabler.</p>
</blockquote>
<p>Warum?</p>
</blockquote>
<p>Weil es eingeschränkter ist. Man hat nicht so viele Möglichkeiten es falsch zu machen und merkwürdiges Verhalten zu bekommen.<br />
Java ist darauf ausgelegt, dass man z.B Vererbung polymorph benutzt und somit verhält es sich genau so, wie man es vom OOP Standpunkt her aus kennt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1934356</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1934356</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 31 Jul 2010 11:46:29 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Aufruf von templates in einer Funktion on Sat, 31 Jul 2010 12:01:33 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Michael E. schrieb:</p>
<blockquote>
<p>Rafzahn schrieb:</p>
<blockquote>
<p>Was die Objektorientierung angeht ist Java um einiges komfortabler.</p>
</blockquote>
<p>Warum?</p>
</blockquote>
<p>Weil es eingeschränkter ist.</p>
</blockquote>
<p>Wenn man nicht autofahren kann, ist das Fahrrad komfortabler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1934364</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1934364</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 31 Jul 2010 12:01:33 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Aufruf von templates in einer Funktion on Sat, 31 Jul 2010 12:03:09 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>drakon schrieb:</p>
<blockquote>
<p>Michael E. schrieb:</p>
<blockquote>
<p>Rafzahn schrieb:</p>
<blockquote>
<p>Was die Objektorientierung angeht ist Java um einiges komfortabler.</p>
</blockquote>
<p>Warum?</p>
</blockquote>
<p>Weil es eingeschränkter ist.</p>
</blockquote>
<p>Wenn man nicht autofahren kann, ist das Fahrrad komfortabler.</p>
</blockquote>
<p>Ich hätts jetzt nicht so ausgedrückt, aber im Prinzip ja. <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1934366</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1934366</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 31 Jul 2010 12:03:09 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Aufruf von templates in einer Funktion on Sat, 31 Jul 2010 16:45:33 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Ich bin jedoch noch immer entgeistert von der knappen Fehlermeldung. War das wirklich alles?</p>
</blockquote>
<p>Was hätte er denn noch schreiben sollen?<br />
Er kannte den Typ nicht - und das hat er uns auch gesagt - wüsste nicht, was er noch ausgeben sollte...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1934482</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1934482</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sat, 31 Jul 2010 16:45:33 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Aufruf von templates in einer Funktion on Sat, 31 Jul 2010 16:59:04 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>volkard schrieb:</p>
<blockquote>
<p>drakon schrieb:</p>
<blockquote>
<p>Michael E. schrieb:</p>
<blockquote>
<p>Rafzahn schrieb:</p>
<blockquote>
<p>Was die Objektorientierung angeht ist Java um einiges komfortabler.</p>
</blockquote>
<p>Warum?</p>
</blockquote>
<p>Weil es eingeschränkter ist.</p>
</blockquote>
<p>Wenn man nicht autofahren kann, ist das Fahrrad komfortabler.</p>
</blockquote>
<p>Ich hätts jetzt nicht so ausgedrückt, aber im Prinzip ja. <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="🙂"
    /></p>
</blockquote>
<p>Komisch, immer wenns um den Vergleich von java und cpp geht, läufts immer auf solche Bemerkungen hinaus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1934486</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1934486</guid><dc:creator><![CDATA[Rafzahn]]></dc:creator><pubDate>Sat, 31 Jul 2010 16:59:04 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Aufruf von templates in einer Funktion on Sat, 31 Jul 2010 21:25:22 GMT]]></title><description><![CDATA[<p>Rafzahn schrieb:</p>
<blockquote>
<p>Komisch, immer wenns um den Vergleich von java und cpp geht, läufts immer auf solche Bemerkungen hinaus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
</blockquote>
<p>Du musst aber zugeben, dass dein Post ziemlich trollig war. Du stellst eine gewagte These ohne Begründung in den Raum, die Java besser erscheinen lässt als C++. Ich kenne mich mit Java nicht aus, aber hinsichtlich der Unterstützung von OOP sind sich die beiden doch sehr ähnlich. Mir fallen nur kleinere Unterschiede auf bzgl. Mehrfachvererbung, ABC/Interfaces, Name Hiding etc. Ja gut, nicht-statische Memberfunktionen sind in Java automatisch virtual, aber das ist auch nicht das Riesending. Deshalb weiß ich immer noch nicht, was dich zu deiner Annahme verleitet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1934547</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1934547</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Sat, 31 Jul 2010 21:25:22 GMT</pubDate></item></channel></rss>