<?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[pointer übergabe bei funktionen]]></title><description><![CDATA[<p>hi,<br />
ich bin etwas durcheinander und frage mich was hierbei schief läuft...</p>
<pre><code class="language-cpp">typedef	std::vector&lt; Triangle &gt; TRIANGLEVEC;
typedef std::vector&lt; unsigned int &gt; UNSIGNEDINTVEC;

//prototype
void makeIndexArray( TRIANGLEVEC *trivec, UNSIGNEDINTVEC *result );

TRIANGLEVEC *tri = new TRIANGLEVEC( 10 );//halt mit irgendwelchen daten gefüllt
UNSIGNEDINTVEC *p = NULL;                //zeigt ins leere
.
.
.
makeIndexArray( tri, p );//funktion aufrufen mit tri, ergebnis soll in p
                         //abgelegt werden

//funktion aufs wesentliche vereinfacht...
void makeIndexArray( TRIANGLEVEC *trivec, UNSIGNEDINTVEC *result ){

     result= new UNSINGNEDINTVEC( trivec-&gt;size() );
}
</code></pre>
<p>das merkwürdige hier dran ist das nach verlassen der funktion makeIndexArray der pointer p immer noch auf NULL zeigt.</p>
<p>ich bin null völlig verwirrt...auf die daten von tri kann ich in der funktion makeIndexArray zugreifen...nur leider geht das ergebnis verloren... <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="😕"
    /></p>
<p>versteht jemand das problem und kann mir helfen?</p>
<p>danke und grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/150124/pointer-übergabe-bei-funktionen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 12:46:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/150124.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 13 Jun 2006 12:08:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to pointer übergabe bei funktionen on Tue, 13 Jun 2006 12:08:47 GMT]]></title><description><![CDATA[<p>hi,<br />
ich bin etwas durcheinander und frage mich was hierbei schief läuft...</p>
<pre><code class="language-cpp">typedef	std::vector&lt; Triangle &gt; TRIANGLEVEC;
typedef std::vector&lt; unsigned int &gt; UNSIGNEDINTVEC;

//prototype
void makeIndexArray( TRIANGLEVEC *trivec, UNSIGNEDINTVEC *result );

TRIANGLEVEC *tri = new TRIANGLEVEC( 10 );//halt mit irgendwelchen daten gefüllt
UNSIGNEDINTVEC *p = NULL;                //zeigt ins leere
.
.
.
makeIndexArray( tri, p );//funktion aufrufen mit tri, ergebnis soll in p
                         //abgelegt werden

//funktion aufs wesentliche vereinfacht...
void makeIndexArray( TRIANGLEVEC *trivec, UNSIGNEDINTVEC *result ){

     result= new UNSINGNEDINTVEC( trivec-&gt;size() );
}
</code></pre>
<p>das merkwürdige hier dran ist das nach verlassen der funktion makeIndexArray der pointer p immer noch auf NULL zeigt.</p>
<p>ich bin null völlig verwirrt...auf die daten von tri kann ich in der funktion makeIndexArray zugreifen...nur leider geht das ergebnis verloren... <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="😕"
    /></p>
<p>versteht jemand das problem und kann mir helfen?</p>
<p>danke und grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1076845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1076845</guid><dc:creator><![CDATA[ConfusedGuy]]></dc:creator><pubDate>Tue, 13 Jun 2006 12:08:47 GMT</pubDate></item><item><title><![CDATA[Reply to pointer übergabe bei funktionen on Tue, 13 Jun 2006 12:21:10 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>der Pointer wird immer noch by Value übergeben, d.h. um den Pointer selber zu modifizieren, brauchst du einen Pointer auf einen Pointer.</p>
<p>MfG</p>
<p>GPC</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1076851</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1076851</guid><dc:creator><![CDATA[GPC]]></dc:creator><pubDate>Tue, 13 Jun 2006 12:21:10 GMT</pubDate></item><item><title><![CDATA[Reply to pointer übergabe bei funktionen on Tue, 13 Jun 2006 12:21:41 GMT]]></title><description><![CDATA[<p>Du übergibst einen Zeiger by-value, d.h. in der Funktion makeIndexArray hast Du nur eine Kopie des Zeigers. Diese Kopie kannst Du ändern wie Du willst, das kommt aussen nicht an (anders als Änderungen an dem Objekt auf das gezeigt wird). Du musst eine Referenz auf den Zeiger übergeben, damit keine Kopie mehr angelegt wird.</p>
<pre><code class="language-cpp">void makeIndexArray( TRIANGLEVEC* trivec, UNSIGNEDINTVEC*&amp; result )
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1076852</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1076852</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 13 Jun 2006 12:21:41 GMT</pubDate></item><item><title><![CDATA[Reply to pointer übergabe bei funktionen on Tue, 13 Jun 2006 14:14:33 GMT]]></title><description><![CDATA[<p>aaahh, danke. da geht einem doch ein lichtlein auf.<br />
hat so gefunzt danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1076915</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1076915</guid><dc:creator><![CDATA[ConfusedGuy]]></dc:creator><pubDate>Tue, 13 Jun 2006 14:14:33 GMT</pubDate></item></channel></rss>