<?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[Vector für &amp;quot;komplexe Datentypen&amp;quot;]]></title><description><![CDATA[<p>Hey,</p>
<p>kann es sein, dass &quot;vector&quot; nicht dafür geeignet sind um komplexere Datentypen zu speichern? Mit komplexer Datentyp mein ich im Prinzip einfach etwas selbst geschriebenes. Folgendes gibt bei mir z.B. einen Fehler:</p>
<pre><code class="language-cpp">std::vector&lt;Wall*&gt; walls; // &lt;-- Wall ist dabei eine Class von mir
walls.insert(w); // &lt;-- Fehler
</code></pre>
<p>Fehlermeldung:</p>
<pre><code>no matching function for call to 'std::vector&lt;Wall*&gt;::insert(Wall*&amp;)'
</code></pre>
<p>Mach ich etwas falsch oder kann vector nur primitive Datentypen behandeln?</p>
<p>Falls vector also meine Wände nicht speichern kann, wie macht man sowas in C++ für gewöhnlich? Arrays sind insofern ungeeignet als dass ich eine variable Größe brauche.<br />
Meine Notfalllösung wäre, dass ich mir eine Linked List Struktur baue, wie man es &quot;damals&quot; in C gemacht hat, vielleicht geht das aber eleganter und ihr könnt mir helfen <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/topic/288960/vector-für-quot-komplexe-datentypen-quot</link><generator>RSS for Node</generator><lastBuildDate>Wed, 19 Aug 2026 12:23:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/288960.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 26 Jun 2011 06:17:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vector für &amp;quot;komplexe Datentypen&amp;quot; on Sun, 26 Jun 2011 06:27:36 GMT]]></title><description><![CDATA[<p>Hey,</p>
<p>kann es sein, dass &quot;vector&quot; nicht dafür geeignet sind um komplexere Datentypen zu speichern? Mit komplexer Datentyp mein ich im Prinzip einfach etwas selbst geschriebenes. Folgendes gibt bei mir z.B. einen Fehler:</p>
<pre><code class="language-cpp">std::vector&lt;Wall*&gt; walls; // &lt;-- Wall ist dabei eine Class von mir
walls.insert(w); // &lt;-- Fehler
</code></pre>
<p>Fehlermeldung:</p>
<pre><code>no matching function for call to 'std::vector&lt;Wall*&gt;::insert(Wall*&amp;)'
</code></pre>
<p>Mach ich etwas falsch oder kann vector nur primitive Datentypen behandeln?</p>
<p>Falls vector also meine Wände nicht speichern kann, wie macht man sowas in C++ für gewöhnlich? Arrays sind insofern ungeeignet als dass ich eine variable Größe brauche.<br />
Meine Notfalllösung wäre, dass ich mir eine Linked List Struktur baue, wie man es &quot;damals&quot; in C gemacht hat, vielleicht geht das aber eleganter und ihr könnt mir helfen <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/2084152</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2084152</guid><dc:creator><![CDATA[Djinndrache]]></dc:creator><pubDate>Sun, 26 Jun 2011 06:27:36 GMT</pubDate></item><item><title><![CDATA[Reply to Vector für &amp;quot;komplexe Datentypen&amp;quot; on Sun, 26 Jun 2011 07:03:50 GMT]]></title><description><![CDATA[<p>Djinndrache schrieb:</p>
<blockquote>
<p>kann es sein, dass &quot;vector&quot; nicht dafür geeignet sind um komplexere Datentypen zu speichern?</p>
</blockquote>
<p>doch klar kann er das.</p>
<p>Djinndrache schrieb:</p>
<blockquote>
<p>Folgendes gibt bei mir z.B. einen Fehler:</p>
</blockquote>
<p>Du willst nicht insert() sondern push_back().</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2084157</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2084157</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Sun, 26 Jun 2011 07:03:50 GMT</pubDate></item><item><title><![CDATA[Reply to Vector für &amp;quot;komplexe Datentypen&amp;quot; on Sun, 26 Jun 2011 07:25:57 GMT]]></title><description><![CDATA[<p>Ah, so mag ich den vector doch gleich <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>Der vector spielt scheinbar auch gleichzeitig stack, mh? Kann ich bestimmt nochmal gebrauchen <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>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2084159</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2084159</guid><dc:creator><![CDATA[Djinndrache]]></dc:creator><pubDate>Sun, 26 Jun 2011 07:25:57 GMT</pubDate></item><item><title><![CDATA[Reply to Vector für &amp;quot;komplexe Datentypen&amp;quot; on Sun, 26 Jun 2011 07:39:40 GMT]]></title><description><![CDATA[<p>Es gibt auch std::stack <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/2084161</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2084161</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Sun, 26 Jun 2011 07:39:40 GMT</pubDate></item><item><title><![CDATA[Reply to Vector für &amp;quot;komplexe Datentypen&amp;quot; on Sun, 26 Jun 2011 09:25:15 GMT]]></title><description><![CDATA[<p>dot schrieb:</p>
<blockquote>
<p>Es gibt auch std::stack <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>Mh wozu, wenn der Vektor selber pushen und poppen kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2084184</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2084184</guid><dc:creator><![CDATA[Djinndrache]]></dc:creator><pubDate>Sun, 26 Jun 2011 09:25:15 GMT</pubDate></item><item><title><![CDATA[Reply to Vector für &amp;quot;komplexe Datentypen&amp;quot; on Sun, 26 Jun 2011 09:30:51 GMT]]></title><description><![CDATA[<p>Ich habe noch nie std::stack eingesetzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2084185</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2084185</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 26 Jun 2011 09:30:51 GMT</pubDate></item><item><title><![CDATA[Reply to Vector für &amp;quot;komplexe Datentypen&amp;quot; on Sun, 26 Jun 2011 09:31:45 GMT]]></title><description><![CDATA[<p>Djinndrache schrieb:</p>
<blockquote>
<p>dot schrieb:</p>
<blockquote>
<p>Es gibt auch std::stack <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>Mh wozu, wenn der Vektor selber pushen und poppen kann?</p>
</blockquote>
<p>Weil man mitunter die übrigen Methoden des vector's nicht benötigt (btw, std::stack ist kein Container, sondern ein Adapter, der im Inneren einen normalen STL-Container verwaltet).</p>
<p>Zu deinem ursprünglichen Problem: insert() erwartet nicht nur den einzufügenden Wert, sondern auch die Position, wo der hingeschrieben werden soll. Und <code>v.push_back(x);</code> ist eine Abkürzung für <code>v.insert(x,v.end());</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2084186</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2084186</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sun, 26 Jun 2011 09:31:45 GMT</pubDate></item><item><title><![CDATA[Reply to Vector für &amp;quot;komplexe Datentypen&amp;quot; on Sun, 26 Jun 2011 09:35:57 GMT]]></title><description><![CDATA[<p>Ah, verstehe <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>Dann ist in meinem Fall push besser, da es mir egal ist in welcher Reihenfolge die Engine die Wände generiert. Aber gut zu wissen <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>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2084189</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2084189</guid><dc:creator><![CDATA[Djinndrache]]></dc:creator><pubDate>Sun, 26 Jun 2011 09:35:57 GMT</pubDate></item><item><title><![CDATA[Reply to Vector für &amp;quot;komplexe Datentypen&amp;quot; on Sun, 26 Jun 2011 09:42:29 GMT]]></title><description><![CDATA[<p>Djinndrache schrieb:</p>
<blockquote>
<p>Ah, verstehe <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>Dann ist in meinem Fall push besser, da es mir egal ist in welcher Reihenfolge die Engine die Wände generiert. Aber gut zu wissen <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>Danke</p>
</blockquote>
<p>Wenn du insert nutzen würdest, dann müssten alle bereits im vector befindlichen Elemente nach der insert-Position umkopiert werden (unter der Annahme, dass die Kapazität des vectors ausreicht und nicht ohnehin neuer Speicherplatz angefordert werden muss), um Platz zu schaffen für das neue Element.</p>
<p>Bei einem push_back muss das natürlich nicht gemacht werden, da das neu einzufügende Element ohnehin ans Ende kommt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2084191</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2084191</guid><dc:creator><![CDATA[inter2k3]]></dc:creator><pubDate>Sun, 26 Jun 2011 09:42:29 GMT</pubDate></item><item><title><![CDATA[Reply to Vector für &amp;quot;komplexe Datentypen&amp;quot; on Mon, 27 Jun 2011 09:27:22 GMT]]></title><description><![CDATA[<p>Djinndrache schrieb:</p>
<blockquote>
<p>Hey,</p>
<p>kann es sein, dass &quot;vector&quot; nicht dafür geeignet sind um komplexere Datentypen zu speichern? Mit komplexer Datentyp mein ich im Prinzip einfach etwas selbst geschriebenes. Folgendes gibt bei mir z.B. einen Fehler:</p>
<pre><code class="language-cpp">std::vector&lt;Wall*&gt; walls; // &lt;-- Wall ist dabei eine Class von mir
walls.insert(w); // &lt;-- Fehler
</code></pre>
<p>Fehlermeldung:</p>
<pre><code>no matching function for call to 'std::vector&lt;Wall*&gt;::insert(Wall*&amp;)'
</code></pre>
<p>Mach ich etwas falsch oder kann vector nur primitive Datentypen behandeln?</p>
</blockquote>
<p>Nö, du machst was falsch <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="😉"
    /><br />
Dein Vektor speichert Zeiger auf Wall Objekte, du versuchst aber ein normales Wall Objekt drin abzulegen, damit kommt der Vektor aber nicht klar.</p>
<p>Djinndrache schrieb:</p>
<blockquote>
<p>Falls vector also meine Wände nicht speichern kann, wie macht man sowas in C++ für gewöhnlich? Arrays sind insofern ungeeignet als dass ich eine variable Größe brauche.<br />
Meine Notfalllösung wäre, dass ich mir eine Linked List Struktur baue, wie man es &quot;damals&quot; in C gemacht hat, vielleicht geht das aber eleganter und ihr könnt mir helfen <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>Wenn du dein Schnitzel gern mit ´ner Pinzette ist kannst du das machen, ich würde aber trotzdem std::vector benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2084671</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2084671</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Mon, 27 Jun 2011 09:27:22 GMT</pubDate></item><item><title><![CDATA[Reply to Vector für &amp;quot;komplexe Datentypen&amp;quot; on Mon, 27 Jun 2011 09:30:36 GMT]]></title><description><![CDATA[<p>...abgesehen davon ist ein Zeiger nicht komplex.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2084674</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2084674</guid><dc:creator><![CDATA[_duh!_]]></dc:creator><pubDate>Mon, 27 Jun 2011 09:30:36 GMT</pubDate></item></channel></rss>