<?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[Templateklasse std::pair problem]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine Templateklasse und eine Funktion mit einem Standardwert</p>
<pre><code class="language-cpp">Test(T&amp; rhs = 0);
</code></pre>
<p>Da die Klasse bisher nur in Zusammenhang mit den Standarddatentypen verwendet wurde ist es kein Problem. Nun möchte ich ein std::pair als Datentyp verwenden. Ich bekomme aber natürlich einen Compilererror wenn ich dann versuche die Templateklasse zu kompilieren weil kein geeigneter Konstruktor für std::pair vorhanden ist der nur einen Wert aufnehmen kann (was sowieso doof ist...mal davon abgesehen <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>
<p>Welche Lösungen gibt es für solch ein Problem? Ich kann mir vorstellen dass ich vielleicht für bestimmte datentypen das Template irgendwie explizit definieren kann? Aber nur für diese eine Funktion.</p>
<p>Danke nochmals<br />
Sam</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/254166/templateklasse-std-pair-problem</link><generator>RSS for Node</generator><lastBuildDate>Sun, 13 Sep 2026 03:38:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/254166.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 12 Nov 2009 14:58:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Templateklasse std::pair problem on Thu, 12 Nov 2009 15:01:12 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine Templateklasse und eine Funktion mit einem Standardwert</p>
<pre><code class="language-cpp">Test(T&amp; rhs = 0);
</code></pre>
<p>Da die Klasse bisher nur in Zusammenhang mit den Standarddatentypen verwendet wurde ist es kein Problem. Nun möchte ich ein std::pair als Datentyp verwenden. Ich bekomme aber natürlich einen Compilererror wenn ich dann versuche die Templateklasse zu kompilieren weil kein geeigneter Konstruktor für std::pair vorhanden ist der nur einen Wert aufnehmen kann (was sowieso doof ist...mal davon abgesehen <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>
<p>Welche Lösungen gibt es für solch ein Problem? Ich kann mir vorstellen dass ich vielleicht für bestimmte datentypen das Template irgendwie explizit definieren kann? Aber nur für diese eine Funktion.</p>
<p>Danke nochmals<br />
Sam</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1807040</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1807040</guid><dc:creator><![CDATA[Katachi]]></dc:creator><pubDate>Thu, 12 Nov 2009 15:01:12 GMT</pubDate></item><item><title><![CDATA[Reply to Templateklasse std::pair problem on Thu, 12 Nov 2009 15:16:06 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">Test(T const&amp; rhs = T());
</code></pre>
<p>?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1807056</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1807056</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Thu, 12 Nov 2009 15:16:06 GMT</pubDate></item><item><title><![CDATA[Reply to Templateklasse std::pair problem on Thu, 12 Nov 2009 15:17:59 GMT]]></title><description><![CDATA[<p>ok, hat sich erledigt. Hab einfach eine Wrapperklasse erstellt mit dem nötigen Konstruktor. Manchmal... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1807057</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1807057</guid><dc:creator><![CDATA[Katachi]]></dc:creator><pubDate>Thu, 12 Nov 2009 15:17:59 GMT</pubDate></item><item><title><![CDATA[Reply to Templateklasse std::pair problem on Thu, 12 Nov 2009 15:20:05 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<pre><code class="language-cpp">Test(T const&amp; rhs = T());
</code></pre>
<p>?</p>
</blockquote>
<p>Würde das auch für die normalen Datentypen 0 als standardwert festlegen? Sprich der Defaultkonstruktor der standarddatentypen initialisiert diese mit 0?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1807059</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1807059</guid><dc:creator><![CDATA[Katachi]]></dc:creator><pubDate>Thu, 12 Nov 2009 15:20:05 GMT</pubDate></item><item><title><![CDATA[Reply to Templateklasse std::pair problem on Thu, 12 Nov 2009 15:27:02 GMT]]></title><description><![CDATA[<p>Hmm, scheint mir eher so als seien die Standarddatentypen uninitialisiert wenn man es so macht wie du es vorschlägst. Liege ich da falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1807065</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1807065</guid><dc:creator><![CDATA[Katachi]]></dc:creator><pubDate>Thu, 12 Nov 2009 15:27:02 GMT</pubDate></item><item><title><![CDATA[Reply to Templateklasse std::pair problem on Thu, 12 Nov 2009 15:36:56 GMT]]></title><description><![CDATA[<p>Katachi schrieb:</p>
<blockquote>
<p>Hmm, scheint mir eher so als seien die Standarddatentypen uninitialisiert wenn man es so macht wie du es vorschlägst. Liege ich da falsch?</p>
</blockquote>
<p>Was sagt denn Dein Compiler?</p>
<p>nb: <a href="http://www.cplusplus.com/reference/std/utility/pair/" rel="nofollow">http://www.cplusplus.com/reference/std/utility/pair/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1807074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1807074</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Thu, 12 Nov 2009 15:36:56 GMT</pubDate></item><item><title><![CDATA[Reply to Templateklasse std::pair problem on Thu, 12 Nov 2009 15:46:52 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>Was sagt denn Dein Compiler?</p>
<p>nb: <a href="http://www.cplusplus.com/reference/std/utility/pair/" rel="nofollow">http://www.cplusplus.com/reference/std/utility/pair/</a></p>
</blockquote>
<p>Mein Compiler macht keine Mucken, aber das muss ja zwangsläufig nichts heißen. Der Link sagt mir da jetzt nichts zu oder? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> Mir geht es darum dass wenn ich anstatt std::pair, int oder float habe, diese auch mit 0 initialisiert werden wenn die Funktion (so wie du sie aufgeführt hast) aufgerufen wird. Kann sein dass ich mich irre aber imo macht der Standardkonstruktor der Standarddatentypen nichts und sie bleiben uninitialisiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1807082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1807082</guid><dc:creator><![CDATA[Katachi]]></dc:creator><pubDate>Thu, 12 Nov 2009 15:46:52 GMT</pubDate></item><item><title><![CDATA[Reply to Templateklasse std::pair problem on Thu, 12 Nov 2009 16:01:11 GMT]]></title><description><![CDATA[<p>Katachi schrieb:</p>
<blockquote>
<p>Mir geht es darum dass wenn ich anstatt std::pair, int oder float habe, diese auch mit 0 initialisiert werden wenn die Funktion (so wie du sie aufgeführt hast) aufgerufen wird.</p>
</blockquote>
<p>Der &quot;Standardkonstruktor&quot; von Standarddatentypen macht eine Value-Initialisierung. Das entspricht (so der Wortlaut im Standard) &quot;einer in den Zieltyp konvertierten 0&quot;.</p>
<p>Value-initialisert heisst etwas anderes als nicht initialisiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1807088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1807088</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 12 Nov 2009 16:01:11 GMT</pubDate></item><item><title><![CDATA[Reply to Templateklasse std::pair problem on Thu, 12 Nov 2009 16:05:34 GMT]]></title><description><![CDATA[<p>Die Klammern sinds. Wenn ich mich recht erinnere, ist int() das gleiche wie int(0).<br />
Hab grad keine besseren links als <a href="http://msdn.microsoft.com/en-us/library/80ks028k(VS.80).aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/80ks028k(VS.80).aspx</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1807090</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1807090</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Thu, 12 Nov 2009 16:05:34 GMT</pubDate></item><item><title><![CDATA[Reply to Templateklasse std::pair problem on Thu, 12 Nov 2009 16:22:49 GMT]]></title><description><![CDATA[<p>Vielen Dank euch beiden! Wieder was dazugelernt. Super.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1807105</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1807105</guid><dc:creator><![CDATA[Katachi]]></dc:creator><pubDate>Thu, 12 Nov 2009 16:22:49 GMT</pubDate></item></channel></rss>