<?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[Bräuchte mal Hilfe mit Call-by-Reference]]></title><description><![CDATA[<p>Normal benutze ich nur CBV, aber jetzt ist wohl mal CBR nötig. Ich habe nun etwas programmiert, aber die Werte werden nicht übergeben. Hier etwas Code:</p>
<p>Haupt-Klasse:</p>
<pre><code class="language-cpp">// data buffer (diese Zeiger zeigen bereits auf gültige Daten)
double *pdDistance;
short *psIntensity;
</code></pre>
<p>Haupt-Klasse:</p>
<pre><code class="language-cpp">int MainClass::GetMyData(double* pdD, short* psI)
{
  pdD=pdDistance;
  psI=psIntensity;

  // to do: Schutz vor leerem Pointer, bei Fehler return -1
  return 0;
}
</code></pre>
<p>Andere Klasse:</p>
<pre><code class="language-cpp">// data buffer
double* pdD;
short* psI;
</code></pre>
<p>Andere Klasse:</p>
<pre><code class="language-cpp">[...]
int error = m_pMainDlg-&gt;GetMyData(pdD,psI);
[...]
</code></pre>
<p>Zusammengefasst: In der Hauptklasse liegen Daten in 2 Buffern. Eine andere Klasse will diese Daten irgendwann holen. Dazu rufe ich GetMyData() auf, in der Hoffnung, dass ich 2 Zeiger auf die Buffer zurückbekomme. Bekomme ich aber gerade nicht. Ich schätze ich habe irgendwas mit den &amp; und * Zeichen nicht verstanden. Nur was muss wohin? Danke für Eure Hilfe!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/151274/bräuchte-mal-hilfe-mit-call-by-reference</link><generator>RSS for Node</generator><lastBuildDate>Sun, 06 Sep 2026 05:55:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/151274.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 24 Jun 2006 14:48:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Bräuchte mal Hilfe mit Call-by-Reference on Sat, 24 Jun 2006 14:50:51 GMT]]></title><description><![CDATA[<p>Normal benutze ich nur CBV, aber jetzt ist wohl mal CBR nötig. Ich habe nun etwas programmiert, aber die Werte werden nicht übergeben. Hier etwas Code:</p>
<p>Haupt-Klasse:</p>
<pre><code class="language-cpp">// data buffer (diese Zeiger zeigen bereits auf gültige Daten)
double *pdDistance;
short *psIntensity;
</code></pre>
<p>Haupt-Klasse:</p>
<pre><code class="language-cpp">int MainClass::GetMyData(double* pdD, short* psI)
{
  pdD=pdDistance;
  psI=psIntensity;

  // to do: Schutz vor leerem Pointer, bei Fehler return -1
  return 0;
}
</code></pre>
<p>Andere Klasse:</p>
<pre><code class="language-cpp">// data buffer
double* pdD;
short* psI;
</code></pre>
<p>Andere Klasse:</p>
<pre><code class="language-cpp">[...]
int error = m_pMainDlg-&gt;GetMyData(pdD,psI);
[...]
</code></pre>
<p>Zusammengefasst: In der Hauptklasse liegen Daten in 2 Buffern. Eine andere Klasse will diese Daten irgendwann holen. Dazu rufe ich GetMyData() auf, in der Hoffnung, dass ich 2 Zeiger auf die Buffer zurückbekomme. Bekomme ich aber gerade nicht. Ich schätze ich habe irgendwas mit den &amp; und * Zeichen nicht verstanden. Nur was muss wohin? Danke für Eure Hilfe!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1084629</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1084629</guid><dc:creator><![CDATA[JPSelter]]></dc:creator><pubDate>Sat, 24 Jun 2006 14:50:51 GMT</pubDate></item><item><title><![CDATA[Reply to Bräuchte mal Hilfe mit Call-by-Reference on Sat, 24 Jun 2006 15:52:24 GMT]]></title><description><![CDATA[<p>Du übergibst deine Pointer immernoch by Value.<br />
Wenn du das Ziel der Pointer ändern willst, müsstest du es so machen:</p>
<pre><code class="language-cpp">int MainClass::GetMyData(double*&amp; pdD, short*&amp; psI)
{
  pdD=pdDistance;
  psI=psIntensity;

  // to do: Schutz vor leerem Pointer, bei Fehler return -1
  return 0;
}
</code></pre>
<p>Edit: Alternative um es hoffentlich ganz klar zu machen:</p>
<pre><code class="language-cpp">int MainClass::GetMyData(double** pdD, short** psI)
{
  (*pdD)=pdDistance;
  (*psI)=psIntensity;

  // to do: Schutz vor leerem Pointer, bei Fehler return -1
  return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1084656</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1084656</guid><dc:creator><![CDATA[Newow]]></dc:creator><pubDate>Sat, 24 Jun 2006 15:52:24 GMT</pubDate></item><item><title><![CDATA[Reply to Bräuchte mal Hilfe mit Call-by-Reference on Sat, 24 Jun 2006 15:55:20 GMT]]></title><description><![CDATA[<p>Ah, stimmt, jetzt klappts, danke <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/1084657</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1084657</guid><dc:creator><![CDATA[JPSelter]]></dc:creator><pubDate>Sat, 24 Jun 2006 15:55:20 GMT</pubDate></item></channel></rss>