<?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[Zeiger auf void an Funktion übergeben - irgendetwas funktioniert nicht]]></title><description><![CDATA[<pre><code class="language-cpp">int Init(void* data) {
  if (data!=NULL) return 1;
  komplizierter_typ_dat* p = new komplizierter_typ_dat;

  cerr &lt;&lt; &quot;data = NULL ? &quot; &lt;&lt; (data==NULL) &lt;&lt; endl;
  cerr &lt;&lt; &quot;komplizierter_typ_dat = NULL ? &quot; &lt;&lt; (komplizierter_typ_dat==NULL) &lt;&lt; endl;

  data = pgfai_btm_dat;
  return 0}
</code></pre>
<p>Hauptprogramm:</p>
<pre><code class="language-cpp">void* data=NULL;
  cerr &lt;&lt; &quot;data = NULL ? &quot; &lt;&lt; (data==NULL) &lt;&lt; endl;
  int init_result=Init(data);
  cerr &lt;&lt; &quot;data = NULL ? &quot; &lt;&lt; (data==NULL) &lt;&lt; endl;
</code></pre>
<p>Ausgabe innerhalb der Funktion: 1 0 0 0<br />
Ausgabe Hauptrogramm 1 1</p>
<p>Wies ist der void-Zeiger nach dem Aufruf immer noch NULL?</p>
<p>Grüße<br />
btm</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/134310/zeiger-auf-void-an-funktion-übergeben-irgendetwas-funktioniert-nicht</link><generator>RSS for Node</generator><lastBuildDate>Fri, 28 Aug 2026 11:36:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/134310.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 25 Jan 2006 09:12:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeiger auf void an Funktion übergeben - irgendetwas funktioniert nicht on Wed, 25 Jan 2006 09:12:08 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int Init(void* data) {
  if (data!=NULL) return 1;
  komplizierter_typ_dat* p = new komplizierter_typ_dat;

  cerr &lt;&lt; &quot;data = NULL ? &quot; &lt;&lt; (data==NULL) &lt;&lt; endl;
  cerr &lt;&lt; &quot;komplizierter_typ_dat = NULL ? &quot; &lt;&lt; (komplizierter_typ_dat==NULL) &lt;&lt; endl;

  data = pgfai_btm_dat;
  return 0}
</code></pre>
<p>Hauptprogramm:</p>
<pre><code class="language-cpp">void* data=NULL;
  cerr &lt;&lt; &quot;data = NULL ? &quot; &lt;&lt; (data==NULL) &lt;&lt; endl;
  int init_result=Init(data);
  cerr &lt;&lt; &quot;data = NULL ? &quot; &lt;&lt; (data==NULL) &lt;&lt; endl;
</code></pre>
<p>Ausgabe innerhalb der Funktion: 1 0 0 0<br />
Ausgabe Hauptrogramm 1 1</p>
<p>Wies ist der void-Zeiger nach dem Aufruf immer noch NULL?</p>
<p>Grüße<br />
btm</p>
]]></description><link>https://www.c-plusplus.net/forum/post/975635</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/975635</guid><dc:creator><![CDATA[btm]]></dc:creator><pubDate>Wed, 25 Jan 2006 09:12:08 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf void an Funktion übergeben - irgendetwas funktioniert nicht on Wed, 25 Jan 2006 09:25:40 GMT]]></title><description><![CDATA[<p>btm schrieb:</p>
<blockquote>
<p>Wies ist der void-Zeiger nach dem Aufruf immer noch NULL?</p>
</blockquote>
<p>Weil nur sein Wert an die Funktion übergeben wurde, so ist das eben in C++. Du kannst aber statt dessen eine Referenz übergeben:</p>
<pre><code class="language-cpp">void funktion(void*&amp; pointer) ...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/975645</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/975645</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Wed, 25 Jan 2006 09:25:40 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf void an Funktion übergeben - irgendetwas funktioniert nicht on Wed, 25 Jan 2006 09:37:32 GMT]]></title><description><![CDATA[<p>Hi Bashar,</p>
<p>Yip, so geht es. Kannst du einem dummy nochmal ein paar Worte zum unterschied zwischen void* und void*&amp; erklären? Und ist das bei allen Zeigertypen so?</p>
<p>Grüße btm</p>
]]></description><link>https://www.c-plusplus.net/forum/post/975655</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/975655</guid><dc:creator><![CDATA[btm]]></dc:creator><pubDate>Wed, 25 Jan 2006 09:37:32 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf void an Funktion übergeben - irgendetwas funktioniert nicht on Wed, 25 Jan 2006 09:54:22 GMT]]></title><description><![CDATA[<p>btm schrieb:</p>
<blockquote>
<p>Yip, so geht es. Kannst du einem dummy nochmal ein paar Worte zum unterschied zwischen void* und void*&amp; erklären?</p>
</blockquote>
<p>void* ist ein Zeiger auf einen beliebigen Datenbereich - der wird per Wert übergeben (d.h. deine Funktion arbeitet mit einer eigenen Variable, die zu Beginn den Wert deines realen Parameters erhält).<br />
void*&amp; ist eine Referenz auf einen void*-Zeiger, also quasi ein Alias des übergebenen Parameters (d.h. deine Funktion arbeitet direkt mit der Variable, die du übergeben hast).</p>
<blockquote>
<p>Und ist das bei allen Zeigertypen so?</p>
</blockquote>
<p>Nicht nur bei Zeigertypen <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="😉"
    /> Das funktioniert bei JEDEM Variablentyp auf diese Art.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/975682</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/975682</guid><dc:creator><![CDATA[CStoll (off)]]></dc:creator><pubDate>Wed, 25 Jan 2006 09:54:22 GMT</pubDate></item></channel></rss>