<?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 und nicht template]]></title><description><![CDATA[<p>Mein Gott,</p>
<p>ich verstehe absolut nicht warum folgendes nicht geht:<br />
Wieso kann ich keinen Datentyp der nicht abhängig von einem Template ist,<br />
aus einer Template-Methode zurückgeben?<br />
Das beispiel ist per hand geschrieben und stellt kein minimalbeispiel dar. Aber<br />
im Prinzip ist es das was mich verwirrt...</p>
<pre><code class="language-cpp">Matrix&lt;double&gt; *mtx = new Matrix&lt;double&gt;();

A a;
B* p = NULL;
p = a.gen(mtx);

//....

template &lt;class T&gt;
class A
{
     public:

     A&lt;T&gt;() {};

     b* gen(Matrix&lt;T&gt; * mtx);
};

template&lt;class T&gt; 
b* A&lt;T&gt;::gen(Matrix&lt;T&gt; * mtx) { 

          B* b = new B();
          //mach was mit b und mtx
        return b;  
     }
</code></pre>
<p>die fehlermeldung lautet:</p>
<pre><code>A.h:259: error: ISO C++ forbids declaration of ‘B’ with no type
A.h:259: error: expected ‘;’ before ‘*’ token
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/247123/template-und-nicht-template</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 18:23:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/247123.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 06 Aug 2009 11:25:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Template und nicht template on Thu, 06 Aug 2009 11:25:38 GMT]]></title><description><![CDATA[<p>Mein Gott,</p>
<p>ich verstehe absolut nicht warum folgendes nicht geht:<br />
Wieso kann ich keinen Datentyp der nicht abhängig von einem Template ist,<br />
aus einer Template-Methode zurückgeben?<br />
Das beispiel ist per hand geschrieben und stellt kein minimalbeispiel dar. Aber<br />
im Prinzip ist es das was mich verwirrt...</p>
<pre><code class="language-cpp">Matrix&lt;double&gt; *mtx = new Matrix&lt;double&gt;();

A a;
B* p = NULL;
p = a.gen(mtx);

//....

template &lt;class T&gt;
class A
{
     public:

     A&lt;T&gt;() {};

     b* gen(Matrix&lt;T&gt; * mtx);
};

template&lt;class T&gt; 
b* A&lt;T&gt;::gen(Matrix&lt;T&gt; * mtx) { 

          B* b = new B();
          //mach was mit b und mtx
        return b;  
     }
</code></pre>
<p>die fehlermeldung lautet:</p>
<pre><code>A.h:259: error: ISO C++ forbids declaration of ‘B’ with no type
A.h:259: error: expected ‘;’ before ‘*’ token
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1756237</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1756237</guid><dc:creator><![CDATA[testo]]></dc:creator><pubDate>Thu, 06 Aug 2009 11:25:38 GMT</pubDate></item><item><title><![CDATA[Reply to Template und nicht template on Thu, 06 Aug 2009 11:30:09 GMT]]></title><description><![CDATA[<p>Hier ist der Fehler:</p>
<pre><code class="language-cpp">A a;
</code></pre>
<p>A ist ein template, du musst es parametrisieren (z.B. A&lt;int&gt; a;)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1756240</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1756240</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 06 Aug 2009 11:30:09 GMT</pubDate></item><item><title><![CDATA[Reply to Template und nicht template on Thu, 06 Aug 2009 11:31:26 GMT]]></title><description><![CDATA[<p>danke aber das ändert nichts an meinem Problem. In der tat habe ich es parametrisiert...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1756242</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1756242</guid><dc:creator><![CDATA[testo]]></dc:creator><pubDate>Thu, 06 Aug 2009 11:31:26 GMT</pubDate></item><item><title><![CDATA[Reply to Template und nicht template on Thu, 06 Aug 2009 11:34:08 GMT]]></title><description><![CDATA[<p>Dann hast du B vielleicht vorher nicht richtig deklariert? Bei dem was du da stehen hast kann man nur raten... Versuch mal ein minimales Beispeil in Code zu posten, was wirklich den selben Fehler bringt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1756246</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1756246</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 06 Aug 2009 11:34:08 GMT</pubDate></item><item><title><![CDATA[Reply to Template und nicht template on Thu, 06 Aug 2009 12:03:15 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">b* A&lt;T&gt;::gen(Matrix&lt;T&gt; * mtx) {

          B* b = new B();
          //mach was mit b und mtx
        return b;  
     }
</code></pre>
<p>Was ist überhaupt &quot;b&quot;? Und wieso nennst du die Variable so wie den Rückgabetyp? Es wäre auch hilfreich zu wissen, wo hier Zeile 259 ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1756273</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1756273</guid><dc:creator><![CDATA[TyRoXx]]></dc:creator><pubDate>Thu, 06 Aug 2009 12:03:15 GMT</pubDate></item><item><title><![CDATA[Reply to Template und nicht template on Thu, 06 Aug 2009 12:06:19 GMT]]></title><description><![CDATA[<blockquote>
<p>Was ist überhaupt &quot;b&quot;? Und wieso nennst du die Variable so wie den Rückgabetyp? Es wäre auch hilfreich zu wissen, wo hier Zeile 259 ist.</p>
</blockquote>
<p>Das kommt noch dazu. Der Code ist hier recht unsauber &quot;mal eben&quot; hingeferkelt, so dass man nichtmehr genau erkennen kann was es mal gewesen sein könnte. Originalcode hätte mehr gebracht <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/1756277</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1756277</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 06 Aug 2009 12:06:19 GMT</pubDate></item><item><title><![CDATA[Reply to Template und nicht template on Thu, 06 Aug 2009 12:23:22 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<blockquote>
<p>Was ist überhaupt &quot;b&quot;? Und wieso nennst du die Variable so wie den Rückgabetyp? Es wäre auch hilfreich zu wissen, wo hier Zeile 259 ist.</p>
</blockquote>
<p>Das kommt noch dazu. Der Code ist hier recht unsauber &quot;mal eben&quot; hingeferkelt, so dass man nichtmehr genau erkennen kann was es mal gewesen sein könnte. Originalcode hätte mehr gebracht <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>Ihr könnt doch unmöglich erwarten, dass er hier seine genialen Codez postet und damit riskiert, dass sie ihm von Noobs wie euch geklaut werden!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1756299</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1756299</guid><dc:creator><![CDATA[Kenner der Codez]]></dc:creator><pubDate>Thu, 06 Aug 2009 12:23:22 GMT</pubDate></item></channel></rss>