<?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[reference return auf container vector ?]]></title><description><![CDATA[<p>in der klasse gibt es eine methode:</p>
<pre><code class="language-cpp">QVector&lt;Growth*&gt;&amp; Growth::gvector() {
	return vector;
}
</code></pre>
<p>und wollt jetzt außerhalb so</p>
<pre><code class="language-cpp">QVector&lt;Growth*&gt;* test;
test = growth-&gt;gvector();
</code></pre>
<p>aber:</p>
<blockquote>
<p>.\main.cpp(15) : error C2440: '=': 'QVector&lt;T&gt;' kann nicht in 'QVector&lt;T&gt; *' konvertiert werden<br />
with<br />
[<br />
T=Growth *<br />
]<br />
Kein benutzerdefinierter Konvertierungsoperator verfügbar, der diese Konvertierung durchführen kann, oder der Operator kann nicht aufgerufen werden</p>
</blockquote>
<p>das hier alleine growth-&gt;gvector(); funktioniert auch nicht</p>
<p>Das ganze ist so: In der Klasse wird ein vector außerhalb Methode und Konstruktor erstellt. Dieser soll über Zeiger von Außen zugegriffen werden</p>
<p>QVector ist von Qt und dasselbe wie Vector.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/243477/reference-return-auf-container-vector</link><generator>RSS for Node</generator><lastBuildDate>Sun, 20 Sep 2026 00:33:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/243477.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 17 Jun 2009 09:47:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to reference return auf container vector ? on Wed, 17 Jun 2009 10:07:21 GMT]]></title><description><![CDATA[<p>in der klasse gibt es eine methode:</p>
<pre><code class="language-cpp">QVector&lt;Growth*&gt;&amp; Growth::gvector() {
	return vector;
}
</code></pre>
<p>und wollt jetzt außerhalb so</p>
<pre><code class="language-cpp">QVector&lt;Growth*&gt;* test;
test = growth-&gt;gvector();
</code></pre>
<p>aber:</p>
<blockquote>
<p>.\main.cpp(15) : error C2440: '=': 'QVector&lt;T&gt;' kann nicht in 'QVector&lt;T&gt; *' konvertiert werden<br />
with<br />
[<br />
T=Growth *<br />
]<br />
Kein benutzerdefinierter Konvertierungsoperator verfügbar, der diese Konvertierung durchführen kann, oder der Operator kann nicht aufgerufen werden</p>
</blockquote>
<p>das hier alleine growth-&gt;gvector(); funktioniert auch nicht</p>
<p>Das ganze ist so: In der Klasse wird ein vector außerhalb Methode und Konstruktor erstellt. Dieser soll über Zeiger von Außen zugegriffen werden</p>
<p>QVector ist von Qt und dasselbe wie Vector.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1728070</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728070</guid><dc:creator><![CDATA[xBlackKnightx]]></dc:creator><pubDate>Wed, 17 Jun 2009 10:07:21 GMT</pubDate></item><item><title><![CDATA[Reply to reference return auf container vector ? on Wed, 17 Jun 2009 10:00:35 GMT]]></title><description><![CDATA[<p>xBlackKnightx schrieb:</p>
<blockquote>
<p>...</p>
<blockquote>
<p>'QVector&lt;T&gt;' kann nicht in 'QVector&lt;T&gt; *' konvertiert werden</p>
</blockquote>
</blockquote>
<p>Was ist daran nicht zu verstehen?</p>
<p>Deine Funktion gvector liefert eine Referenz zurück, die du einem Zeiger zuweist.</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1728075</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728075</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Wed, 17 Jun 2009 10:00:35 GMT</pubDate></item><item><title><![CDATA[Reply to reference return auf container vector ? on Wed, 17 Jun 2009 10:21:29 GMT]]></title><description><![CDATA[<p>ah dann hab ich nur &amp; vergessen</p>
<p>test = &amp;growth-&gt;gvector();</p>
<p>edit: funktionieren tuts trotzdem nicht</p>
<p>scheisse kompliziert...<br />
aber das geht: growth-&gt;gvector()[3]-&gt;id();</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1728078</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728078</guid><dc:creator><![CDATA[xBlackKnightx]]></dc:creator><pubDate>Wed, 17 Jun 2009 10:21:29 GMT</pubDate></item><item><title><![CDATA[Reply to reference return auf container vector ? on Wed, 17 Jun 2009 10:25:09 GMT]]></title><description><![CDATA[<p>Ey, Du solltest wissen was Du tust...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1728083</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728083</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Wed, 17 Jun 2009 10:25:09 GMT</pubDate></item><item><title><![CDATA[Reply to reference return auf container vector ? on Wed, 17 Jun 2009 10:26:55 GMT]]></title><description><![CDATA[<p>xBlackKnightx schrieb:</p>
<blockquote>
<p>test = &amp;growth-&gt;gvector();</p>
</blockquote>
<p>Und warum wieder den Umweg über einen Zeiger gehen? Beim Zugriff auf das Objekt muss erst dereferenziert werden.<br />
Machs doch so</p>
<pre><code class="language-cpp">QVector&lt;Growth*&gt; test = growth-&gt;gvector();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1728084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728084</guid><dc:creator><![CDATA[test666]]></dc:creator><pubDate>Wed, 17 Jun 2009 10:26:55 GMT</pubDate></item><item><title><![CDATA[Reply to reference return auf container vector ? on Wed, 17 Jun 2009 10:43:34 GMT]]></title><description><![CDATA[<p>hm das funktioniert.</p>
<p>hoffe es wird nichts kopiert?</p>
<p>naja das mit containern ist mir noch nicht so klar</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1728093</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728093</guid><dc:creator><![CDATA[xBlackKnightx]]></dc:creator><pubDate>Wed, 17 Jun 2009 10:43:34 GMT</pubDate></item><item><title><![CDATA[Reply to reference return auf container vector ? on Wed, 17 Jun 2009 11:15:36 GMT]]></title><description><![CDATA[<p>xBlackKnightx schrieb:</p>
<blockquote>
<p>hoffe es wird nichts kopiert?</p>
</blockquote>
<p>doch - wieso?<br />
wegen performance?</p>
<p>wenn ja, dann vergiss die bedenken ^^<br />
wenn nicht: pointer <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/1728105</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728105</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Wed, 17 Jun 2009 11:15:36 GMT</pubDate></item><item><title><![CDATA[Reply to reference return auf container vector ? on Wed, 17 Jun 2009 11:17:27 GMT]]></title><description><![CDATA[<p>Oder vielleicht Referenzen, denn das gibt ja die Methode auch zurück?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1728106</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728106</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Wed, 17 Jun 2009 11:17:27 GMT</pubDate></item><item><title><![CDATA[Reply to reference return auf container vector ? on Wed, 17 Jun 2009 12:39:50 GMT]]></title><description><![CDATA[<p>also so:</p>
<pre><code class="language-cpp">QVector&lt;Growth*&gt;&amp; vector = growth-&gt;gvector();
qDebug() &lt;&lt; vector[4]-&gt;id();
</code></pre>
<p>referenz auf referenz</p>
<p>gut ich glaub das passt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1728150</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728150</guid><dc:creator><![CDATA[xBlackKnightx]]></dc:creator><pubDate>Wed, 17 Jun 2009 12:39:50 GMT</pubDate></item><item><title><![CDATA[Reply to reference return auf container vector ? on Wed, 17 Jun 2009 12:56:00 GMT]]></title><description><![CDATA[<p>xBlackKnightx schrieb:</p>
<blockquote>
<p>hoffe es wird nichts kopiert?</p>
</blockquote>
<p>1. Was ist mit einer Kopie das Problem?<br />
2. Wie häufig rufst du das ganze auf, wieviele Elemente enthält der Container in etwa?</p>
<p>Kopien können ein Problem sein, aber selten. Zumal du hier keine Objekte sondern Zeiger im Container hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1728162</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728162</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Wed, 17 Jun 2009 12:56:00 GMT</pubDate></item><item><title><![CDATA[Reply to reference return auf container vector ? on Wed, 17 Jun 2009 16:11:15 GMT]]></title><description><![CDATA[<p>vlt millionen elemente</p>
<p>ich dachte alle elemente im container werden kopiert. oder ist der container auch nur ein zeiger?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1728337</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728337</guid><dc:creator><![CDATA[xBlackKnightx]]></dc:creator><pubDate>Wed, 17 Jun 2009 16:11:15 GMT</pubDate></item><item><title><![CDATA[Reply to reference return auf container vector ? on Wed, 17 Jun 2009 16:19:49 GMT]]></title><description><![CDATA[<p>xBlackKnightx schrieb:</p>
<blockquote>
<p>vlt millionen elemente<br />
ich dachte alle elemente im container werden kopiert. oder ist der container auch nur ein zeiger?</p>
</blockquote>
<p>Nein, es werden schon alle Elemente kopiert. Da du darin aber Zeiger hälst bin ich nicht davon ausgegangen das es in die Mio geht. Okay, dann ist eine Kopie wirklich nicht angebracht. Auch wenn ich gerne Member offenlege (und dann lieber schaue ob der Aufruf nicht in der Klasse erfolgen kann).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1728340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728340</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Wed, 17 Jun 2009 16:19:49 GMT</pubDate></item><item><title><![CDATA[Reply to reference return auf container vector ? on Wed, 17 Jun 2009 19:24:29 GMT]]></title><description><![CDATA[<p>ok</p>
<p>trotzdem frage ich mich, wieso es nicht möglich ist, ein vector als pointer auf ein vector zu zeigen?</p>
<p>in der methode</p>
<pre><code class="language-cpp">QVector&lt;Growth*&gt; Growth::gvector() {
	return vector;
}
</code></pre>
<p>dann in maincode:</p>
<pre><code class="language-cpp">QVector&lt;Growth*&gt;* vector = &amp;growth-&gt;gvector();
qDebug() &lt;&lt; vector[0].id();
</code></pre>
<p>dann kommt fehlermeldung:</p>
<p>error C2039: 'id': Ist kein Element von 'QVector&lt;T&gt;'</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1728449</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728449</guid><dc:creator><![CDATA[xBlackKnightx]]></dc:creator><pubDate>Wed, 17 Jun 2009 19:24:29 GMT</pubDate></item><item><title><![CDATA[Reply to reference return auf container vector ? on Wed, 17 Jun 2009 19:28:04 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">QVector&lt;Growth*&gt;* vector = &amp;growth-&gt;gvector();
qDebug() &lt;&lt; vector[0]-&gt;id();
</code></pre>
<p>Weil &quot;vector&quot; ein Zeiger ist, und du da nicht einfach den Index-Operator anwenden kannst...<br />
Was geht wäre</p>
<pre><code class="language-cpp">qDebug() &lt;&lt; (*vector)[0]-&gt;id();
</code></pre>
<p>oder halt gleich per</p>
<pre><code class="language-cpp">qDebug() &lt;&lt; vector-&gt;at(0)-&gt;id();
</code></pre>
<p>gibt aber ein const-Objekt zurück.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1728452</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728452</guid><dc:creator><![CDATA[test666]]></dc:creator><pubDate>Wed, 17 Jun 2009 19:28:04 GMT</pubDate></item><item><title><![CDATA[Reply to reference return auf container vector ? on Wed, 17 Jun 2009 19:50:55 GMT]]></title><description><![CDATA[<p>okay die klammern sind es was ich immer ausgelassen hab. oh man muss ich mich damit nochmal auseinandersetzen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1728460</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728460</guid><dc:creator><![CDATA[xBlackKnightx]]></dc:creator><pubDate>Wed, 17 Jun 2009 19:50:55 GMT</pubDate></item><item><title><![CDATA[Reply to reference return auf container vector ? on Wed, 17 Jun 2009 21:24:06 GMT]]></title><description><![CDATA[<p>hm wieso funktioniert das nur innerhalb der methode?</p>
<p>in einer anderen methode der selben klasse stürzts immer ab wenn ich z.b. growth-&gt;size() mache, obwohl die adresse auf die der zeiger weist korrekt ist</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1728494</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728494</guid><dc:creator><![CDATA[xBlackKnightx]]></dc:creator><pubDate>Wed, 17 Jun 2009 21:24:06 GMT</pubDate></item><item><title><![CDATA[Reply to reference return auf container vector ? on Wed, 17 Jun 2009 22:09:55 GMT]]></title><description><![CDATA[<p>egal haut hin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1728501</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728501</guid><dc:creator><![CDATA[xBlackKnightx]]></dc:creator><pubDate>Wed, 17 Jun 2009 22:09:55 GMT</pubDate></item><item><title><![CDATA[Reply to reference return auf container vector ? on Thu, 18 Jun 2009 00:47:46 GMT]]></title><description><![CDATA[<p>Hier hatte mal einer ne Signatur, die ging in etwa: &quot;Stocherst du gern in Toten rum?&quot; Genau das ist hier wieder der Fall.</p>
<pre><code class="language-cpp">QVector&lt;Growth*&gt; Growth::gvector() {
    return vector;
}
</code></pre>
<p>Eine Kopie von vector wird zurückgegeben.</p>
<pre><code class="language-cpp">QVector&lt;Growth*&gt;* vector = &amp;growth-&gt;gvector(); // &lt;-
qDebug() &lt;&lt; vector[0].id();
</code></pre>
<p>Von dieser Kopie, die mit dem markierten Semikolon stirbt, nimmst du die Adresse. Jeder weitere Zugriff auf *vector ist damit undefiniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1728532</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728532</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Thu, 18 Jun 2009 00:47:46 GMT</pubDate></item></channel></rss>