<?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[Implizite Konvertierung]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;vector&gt;
using namespace std;

int main()
{
    vector&lt; int &gt;    vi;
    vector&lt; double &gt; vd(vi.begin(), vi.end());

    vector&lt; vector&lt; int &gt; &gt;    vvi;
    vector&lt; vector&lt; double &gt; &gt; vvd(vvi.begin(), vvi.end());  // Fehler - C2664
}
</code></pre>
<p>Lässt sich ein sozusagen &quot;doppelter&quot; vector irgendwie implizit in einen anderen doppelten vector konvertieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/262182/implizite-konvertierung</link><generator>RSS for Node</generator><lastBuildDate>Sun, 06 Sep 2026 22:45:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/262182.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 02 Mar 2010 09:57:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Implizite Konvertierung on Tue, 02 Mar 2010 09:57:30 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;vector&gt;
using namespace std;

int main()
{
    vector&lt; int &gt;    vi;
    vector&lt; double &gt; vd(vi.begin(), vi.end());

    vector&lt; vector&lt; int &gt; &gt;    vvi;
    vector&lt; vector&lt; double &gt; &gt; vvd(vvi.begin(), vvi.end());  // Fehler - C2664
}
</code></pre>
<p>Lässt sich ein sozusagen &quot;doppelter&quot; vector irgendwie implizit in einen anderen doppelten vector konvertieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1863174</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1863174</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 02 Mar 2010 09:57:30 GMT</pubDate></item><item><title><![CDATA[Reply to Implizite Konvertierung on Tue, 02 Mar 2010 10:07:53 GMT]]></title><description><![CDATA[<p>daersc schrieb:</p>
<blockquote>
<p>Lässt sich ein sozusagen &quot;doppelter&quot; vector irgendwie implizit in einen anderen doppelten vector konvertieren?</p>
</blockquote>
<p>Implizite Konvertierung erreichst du indem du ne variable des einen Typs einfach der Variable des anderen Typs zuweist. Der Compiler wird dir die Antwort geben ob die implizite Konvertierung erlaubt 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/1863181</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1863181</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 02 Mar 2010 10:07:53 GMT</pubDate></item><item><title><![CDATA[Reply to Implizite Konvertierung on Tue, 02 Mar 2010 10:11:22 GMT]]></title><description><![CDATA[<p>ich dachte eher daran, ob ich einen Konvertierungsoperator außerhalb von klassendefinitionen erstellen kann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1863184</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1863184</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 02 Mar 2010 10:11:22 GMT</pubDate></item><item><title><![CDATA[Reply to Implizite Konvertierung on Tue, 02 Mar 2010 10:59:42 GMT]]></title><description><![CDATA[<p>daersc schrieb:</p>
<blockquote>
<p>ich dachte eher daran, ob ich einen Konvertierungsoperator außerhalb von klassendefinitionen erstellen kann</p>
</blockquote>
<p>Nein. Siehe auch im entsprechenden <a href="http://magazin.c-plusplus.net/artikel/%DCberladung%20von%20Operatoren%20in%20CPlusPlus%20%28Teil%201%29" rel="nofollow">Artikel</a>, Abschnitt 3.22</p>
<p>Was du suchst ist <a href="http://www.cplusplus.com/reference/algorithm/transform/" rel="nofollow">std::transform</a> und einen entsprechenden Transformator:</p>
<pre><code class="language-cpp">template &lt;class OuputContainer&gt;
struct ContainerTransformator
{
  template &lt;class InputContainer&gt;
  OutputContainer operator()(InputContainer const&amp; input)
  {
    OutputContainer cont(input.begin(), input.end());
    return cont;
  }
}

// ...

int main()
{
    typedef vector&lt;int&gt; intvec;
    typedef vector&lt;intvec&gt; intvecvec;
    typedef vector&lt;double&gt; doublevec;
    typedef vector&lt;doublevec&gt; doublevecvec;

    intvec  vi;
    doublevec vd(vi.begin(), vi.end());

    intvecvec    vvi;
    doublevecvec vvd(vvi.size());

    std::transform(vvi.begin(), vvi.end(), vvd.begin(), 
        ContainerTransformator&lt;doublevecvec::value_type&gt;()
    );
}
</code></pre>
<p>Ohne Gewähr</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1863200</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1863200</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 02 Mar 2010 10:59:42 GMT</pubDate></item></channel></rss>