<?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[friend und template]]></title><description><![CDATA[<p>hola leute</p>
<p>folgendes problem<br />
hab eine template class der ich eine template-funktion als friend eintrichtern will.<br />
aber ich mach da scheinbar irgendwie was falsch.<br />
folgender code:</p>
<pre><code class="language-cpp">template &lt;class K, class T&gt;
class DataTable
{
   friend void AssignTableToVec(std::vector&lt;T&gt; &amp;vec, const DataTable&lt;K, T&gt; &amp;d);
   ...
   private:
      std::map&lt;K, T&gt; my_map;
};

template&lt;class K, class T&gt;
void AssignTableToVec(std::vector&lt;T&gt; &amp;vec, const DataTable&lt;K, T&gt; &amp;d)
{
   ...
   if(d.my_map.size() == 0)    // (1)
   ...
}
</code></pre>
<p>in zeile (1) meckert dann der comiler, das er auf my_map net zugreifen kann.<br />
aufgerufen wirds folgendermassen:</p>
<pre><code class="language-cpp">abe::AssignTableToVec&lt;int, abe::ArtikelData&gt;(artikel_db, Tag == FORM_ID_ZIPPO_ARTIKEL ?
        abe::databases::instance().zippo_db : abe::databases::instance().firma_db);
</code></pre>
<p>sieht da einer den fehler ?</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/162505/friend-und-template</link><generator>RSS for Node</generator><lastBuildDate>Sat, 12 Sep 2026 09:20:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/162505.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 19 Oct 2006 10:45:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to friend und template on Thu, 19 Oct 2006 11:21:58 GMT]]></title><description><![CDATA[<p>hola leute</p>
<p>folgendes problem<br />
hab eine template class der ich eine template-funktion als friend eintrichtern will.<br />
aber ich mach da scheinbar irgendwie was falsch.<br />
folgender code:</p>
<pre><code class="language-cpp">template &lt;class K, class T&gt;
class DataTable
{
   friend void AssignTableToVec(std::vector&lt;T&gt; &amp;vec, const DataTable&lt;K, T&gt; &amp;d);
   ...
   private:
      std::map&lt;K, T&gt; my_map;
};

template&lt;class K, class T&gt;
void AssignTableToVec(std::vector&lt;T&gt; &amp;vec, const DataTable&lt;K, T&gt; &amp;d)
{
   ...
   if(d.my_map.size() == 0)    // (1)
   ...
}
</code></pre>
<p>in zeile (1) meckert dann der comiler, das er auf my_map net zugreifen kann.<br />
aufgerufen wirds folgendermassen:</p>
<pre><code class="language-cpp">abe::AssignTableToVec&lt;int, abe::ArtikelData&gt;(artikel_db, Tag == FORM_ID_ZIPPO_ARTIKEL ?
        abe::databases::instance().zippo_db : abe::databases::instance().firma_db);
</code></pre>
<p>sieht da einer den fehler ?</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1157545</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1157545</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Thu, 19 Oct 2006 11:21:58 GMT</pubDate></item><item><title><![CDATA[Reply to friend und template on Thu, 19 Oct 2006 10:53:30 GMT]]></title><description><![CDATA[<p>Wo kommt das Objekt <em>table</em> her, und warum nimmst du nicht <em>d</em>?</p>
<p>grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1157550</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1157550</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Thu, 19 Oct 2006 10:53:30 GMT</pubDate></item><item><title><![CDATA[Reply to friend und template on Thu, 19 Oct 2006 11:00:32 GMT]]></title><description><![CDATA[<p>dafür musst du eine Forward Deklaration machen:<br />
<a href="http://www.ica1.uni-stuttgart.de/Courses_and_Lectures/C++/script/node23.html#SECTION00531000000000000000" rel="nofollow">http://www.ica1.uni-stuttgart.de/Courses_and_Lectures/C++/script/node23.html#SECTION00531000000000000000</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1157560</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1157560</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Thu, 19 Oct 2006 11:00:32 GMT</pubDate></item><item><title><![CDATA[Reply to friend und template on Thu, 19 Oct 2006 11:23:11 GMT]]></title><description><![CDATA[<p>re</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/10754">@David_pb</a><br />
muss naetuerlich d und nicht table heissen. hab da wohl beim tippen grad nix gedacht. im source stimmts aber schon.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/642">@phlox81</a><br />
mit ner vorwaertsdeklaration meckert er genau so.</p>
<p>scheinbar liegt der fehler wo anders.</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1157575</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1157575</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Thu, 19 Oct 2006 11:23:11 GMT</pubDate></item><item><title><![CDATA[Reply to friend und template on Thu, 19 Oct 2006 11:26:42 GMT]]></title><description><![CDATA[<p>Vergleich doch mal den Beispielcode, den phlox verlinkt hat, mit deinem Quellcode <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>Die spitzen Klammern nach Funktionsnamen sind dabei nötig, um die Funktion als Template-Funktion kenntlich zu machen. In die spitzen Klammern hätte man noch T schreiben können, um anzudeuten, daß es sich um die Instantiierung für T handeln soll, was aber bereits aus dem zweiten Argument klar wird.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1157579</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1157579</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 19 Oct 2006 11:26:42 GMT</pubDate></item><item><title><![CDATA[Reply to friend und template on Thu, 19 Oct 2006 11:43:31 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Vergleich doch mal den Beispielcode, den phlox verlinkt hat, mit deinem Quellcode <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>Die spitzen Klammern nach Funktionsnamen sind dabei nötig, um die Funktion als Template-Funktion kenntlich zu machen. In die spitzen Klammern hätte man noch T schreiben können, um anzudeuten, daß es sich um die Instantiierung für T handeln soll, was aber bereits aus dem zweiten Argument klar wird.</p>
</blockquote>
</blockquote>
<p>jups das wars. danke. kommt davon wenn man nur jede 3te zeile liest ;o)</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1157593</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1157593</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Thu, 19 Oct 2006 11:43:31 GMT</pubDate></item></channel></rss>