<?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[zugriff auf mehrdimensionale Vektoren in mehreren Funktionen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe in einer Klasse einen mehrdim. Vektor definiert:</p>
<p>typedef vector &lt;Classxyz*&gt; v1;<br />
vector &lt;v1*&gt; vec;<br />
Innerhalb einer Funktion füge ich dem Vektor einen Vektor<br />
vector&lt;classxyz*&gt; v2; mittels push_back zu<br />
also vec.push_back(&amp;v2);<br />
jetzt möchte in einer weiteren Funktion auf den Vektor vec zugreifen aber<br />
(*vec[x]-&gt;size()) ist immer leer?(Die Größe von vec ist korrekt)</p>
<p>Codebsp</p>
<pre><code>Class A
{
	typedef vector &lt;Classxyz*&gt; v1;	
	vector &lt;v1*&gt; vec;

	int f1();
	void f2();

	int f1()
	{
		vector&lt;Classxyz*&gt; v2;
		v2.clear();
		v2.push_back(...);
		v2.push_back(...);
		vec.push_back(&amp;v2);

		v2.push_back(...);
		v2.push_back(...);
		return 0;
	}

	void f2()
	{

		std::cout&lt;&lt;&quot;vec_size:&quot;&lt;&lt;vec.size()&lt;&lt;&quot; 1.elem v. vec_size&quot;&lt;&lt;(*vec[0])-&gt;size()&lt;&lt;std::endl;
	}

}
</code></pre>
<p>f1 wird bei mir mehrmals aufgerufen evtl auch rekursiv</p>
<p>ich hab irgendwie keine idee wo es hängt<br />
Danke für Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/217782/zugriff-auf-mehrdimensionale-vektoren-in-mehreren-funktionen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 10 Oct 2026 11:02:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/217782.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 11 Jul 2008 08:56:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to zugriff auf mehrdimensionale Vektoren in mehreren Funktionen on Fri, 11 Jul 2008 08:56:38 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe in einer Klasse einen mehrdim. Vektor definiert:</p>
<p>typedef vector &lt;Classxyz*&gt; v1;<br />
vector &lt;v1*&gt; vec;<br />
Innerhalb einer Funktion füge ich dem Vektor einen Vektor<br />
vector&lt;classxyz*&gt; v2; mittels push_back zu<br />
also vec.push_back(&amp;v2);<br />
jetzt möchte in einer weiteren Funktion auf den Vektor vec zugreifen aber<br />
(*vec[x]-&gt;size()) ist immer leer?(Die Größe von vec ist korrekt)</p>
<p>Codebsp</p>
<pre><code>Class A
{
	typedef vector &lt;Classxyz*&gt; v1;	
	vector &lt;v1*&gt; vec;

	int f1();
	void f2();

	int f1()
	{
		vector&lt;Classxyz*&gt; v2;
		v2.clear();
		v2.push_back(...);
		v2.push_back(...);
		vec.push_back(&amp;v2);

		v2.push_back(...);
		v2.push_back(...);
		return 0;
	}

	void f2()
	{

		std::cout&lt;&lt;&quot;vec_size:&quot;&lt;&lt;vec.size()&lt;&lt;&quot; 1.elem v. vec_size&quot;&lt;&lt;(*vec[0])-&gt;size()&lt;&lt;std::endl;
	}

}
</code></pre>
<p>f1 wird bei mir mehrmals aufgerufen evtl auch rekursiv</p>
<p>ich hab irgendwie keine idee wo es hängt<br />
Danke für Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1545533</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1545533</guid><dc:creator><![CDATA[derboe]]></dc:creator><pubDate>Fri, 11 Jul 2008 08:56:38 GMT</pubDate></item><item><title><![CDATA[Reply to zugriff auf mehrdimensionale Vektoren in mehreren Funktionen on Fri, 11 Jul 2008 09:28:11 GMT]]></title><description><![CDATA[<p>derboe schrieb:</p>
<blockquote>
<p>Hallo,</p>
<p>ich habe in einer Klasse einen mehrdim. Vektor definiert:</p>
<p>typedef vector &lt;Classxyz*&gt; v1;<br />
vector &lt;v1*&gt; vec;<br />
Innerhalb einer Funktion füge ich dem Vektor einen Vektor<br />
vector&lt;classxyz*&gt; v2; mittels push_back zu<br />
also vec.push_back(&amp;v2);<br />
jetzt möchte in einer weiteren Funktion auf den Vektor vec zugreifen aber<br />
(*vec[x]-&gt;size()) ist immer leer?(Die Größe von vec ist korrekt)</p>
<p>Codebsp</p>
<pre><code>Class A
{
	typedef vector &lt;Classxyz*&gt; v1;	
	vector &lt;v1*&gt; vec;

	int f1();
	void f2();

	int f1()
	{
		vector&lt;Classxyz*&gt; v2;
		v2.clear();
		v2.push_back(...);
		v2.push_back(...);
		vec.push_back(&amp;v2);
</code></pre>
<p>Hier nimmst Du die Adresse eines lokalen Objektes (v2)...</p>
<pre><code>v2.push_back(...);
		v2.push_back(...);
		return 0;
	}
</code></pre>
</blockquote>
<p>...welches ab hier nicht mehr existiert -&gt; Alles kann ab hier passieren!<br />
Dein Code ist <em>ill formed</em>.</p>
<p>Ich würde die Matrix (!) so deklarieren:</p>
<pre><code class="language-cpp">typedef std::vector&lt;Classxyz*&gt; VecXyz;
typedef std::vector&lt;VecXyz&gt; MatXyz;
MatXyZ mat;

// dann z.B.

mat.push_back(VecXyz(3));
mat.push_back(VecXyz(3));

// oder zu Anfang als NxM initialisieren:

MatXyz    mat(M, VecXyz(N, 0));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1545540</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1545540</guid><dc:creator><![CDATA[bladerunner10]]></dc:creator><pubDate>Fri, 11 Jul 2008 09:28:11 GMT</pubDate></item><item><title><![CDATA[Reply to zugriff auf mehrdimensionale Vektoren in mehreren Funktionen on Fri, 11 Jul 2008 10:39:18 GMT]]></title><description><![CDATA[<p>ok,eigentlich war mir das ja klar das es so nichts werden kann, aber mir is auch nichts anderes eingefallen...</p>
<p>**<br />
So geht alles ...<br />
Vielen Dank für den Denkanstoss/Tip<br />
**</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1545577</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1545577</guid><dc:creator><![CDATA[derboe]]></dc:creator><pubDate>Fri, 11 Jul 2008 10:39:18 GMT</pubDate></item><item><title><![CDATA[Reply to zugriff auf mehrdimensionale Vektoren in mehreren Funktionen on Fri, 11 Jul 2008 10:36:02 GMT]]></title><description><![CDATA[<p>Du kannst doch per push_back jederzeit neue Elemente zufügen (auch Vektoren). Wo ist da das Problem?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1545582</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1545582</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 11 Jul 2008 10:36:02 GMT</pubDate></item><item><title><![CDATA[Reply to zugriff auf mehrdimensionale Vektoren in mehreren Funktionen on Fri, 11 Jul 2008 10:40:56 GMT]]></title><description><![CDATA[<p>ja hab ich schon mitbekommen<br />
hatte da wohl nach irgendwas kompliziertem gesucht - wo die Lösung doch so nahe liegt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1545585</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1545585</guid><dc:creator><![CDATA[derboe]]></dc:creator><pubDate>Fri, 11 Jul 2008 10:40:56 GMT</pubDate></item><item><title><![CDATA[Reply to zugriff auf mehrdimensionale Vektoren in mehreren Funktionen on Fri, 11 Jul 2008 10:41:11 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>Du kannst doch per push_back jederzeit neue Elemente zufügen (auch Vektoren). Wo ist da das Problem?</p>
</blockquote>
<p>Ja, eben. Welches Problem meinst Du?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1545587</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1545587</guid><dc:creator><![CDATA[bladerunner10]]></dc:creator><pubDate>Fri, 11 Jul 2008 10:41:11 GMT</pubDate></item></channel></rss>