<?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[Indexparameterübergabe]]></title><description><![CDATA[<p>Hallo liebe Community,<br />
ich hätte da mal ne Frage. Und zwar habe ich beispielsweise eine Struktur. Von dieser Struktur lege ich nun ein Objekt(Array) an, mit genau 20 Elementen. Nun habe ich eine Funktion, die das Objekt, samt der Elemente erwartet.<br />
Was ich bereits getestet habe:</p>
<pre><code class="language-cpp">void Funktion(Strukturname &amp;referenzName);
</code></pre>
<p>Jedoch bekomme ich hierdrüber nur eine Referenz auf das Objekt und nicht auf die Elemente. Sprich, ich bekomme das Objekt einfach nur als Objekt, ohne Elemente. Was ich auch schon versucht habe:</p>
<pre><code class="language-cpp">void Funktion(Strukturname neuesObjekt[]);
</code></pre>
<p>Scheint aber wohl auch nicht zu funktionieren.</p>
<p>Eventuell hat ja sogar einer verstanden, was mein Problem ist. Also, wie hole ich mir das Objekt mit den Elementen?</p>
<p>Ich dnake vielmals im Voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/234825/indexparameterübergabe</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 08:25:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/234825.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 22 Feb 2009 22:55:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Indexparameterübergabe on Sun, 22 Feb 2009 22:55:31 GMT]]></title><description><![CDATA[<p>Hallo liebe Community,<br />
ich hätte da mal ne Frage. Und zwar habe ich beispielsweise eine Struktur. Von dieser Struktur lege ich nun ein Objekt(Array) an, mit genau 20 Elementen. Nun habe ich eine Funktion, die das Objekt, samt der Elemente erwartet.<br />
Was ich bereits getestet habe:</p>
<pre><code class="language-cpp">void Funktion(Strukturname &amp;referenzName);
</code></pre>
<p>Jedoch bekomme ich hierdrüber nur eine Referenz auf das Objekt und nicht auf die Elemente. Sprich, ich bekomme das Objekt einfach nur als Objekt, ohne Elemente. Was ich auch schon versucht habe:</p>
<pre><code class="language-cpp">void Funktion(Strukturname neuesObjekt[]);
</code></pre>
<p>Scheint aber wohl auch nicht zu funktionieren.</p>
<p>Eventuell hat ja sogar einer verstanden, was mein Problem ist. Also, wie hole ich mir das Objekt mit den Elementen?</p>
<p>Ich dnake vielmals im Voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1668435</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1668435</guid><dc:creator><![CDATA[Miriam_]]></dc:creator><pubDate>Sun, 22 Feb 2009 22:55:31 GMT</pubDate></item><item><title><![CDATA[Reply to Indexparameterübergabe on Sun, 22 Feb 2009 23:00:51 GMT]]></title><description><![CDATA[<p>Pointer statt Referenz übergeben?<br />
Container verwenden statt herkömmliches Array?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1668441</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1668441</guid><dc:creator><![CDATA[vaune]]></dc:creator><pubDate>Sun, 22 Feb 2009 23:00:51 GMT</pubDate></item><item><title><![CDATA[Reply to Indexparameterübergabe on Sun, 22 Feb 2009 23:03:30 GMT]]></title><description><![CDATA[<p>Du willst deiner Funktion einen Array mit genau 20 Elementen übergeben? Das sollte eigentlich kein Problem sein, nur gefällt dir die Syntax vielleicht nicht so:</p>
<pre><code class="language-cpp">void foo(int (&amp;bar)[20]);
...
..
.
// Verwendung:
int qux[20]; // Ein Array
foo(qux); // Übergibt eine Referenz auf deinen Array an foo.
</code></pre>
<p>In deinem Fall:</p>
<pre><code class="language-cpp">void Funktion(Strukturname (&amp;neuesObjekt)[20]);
</code></pre>
<p>Aber bitte mit den Bounds aufpassen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1668445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1668445</guid><dc:creator><![CDATA[*rant*]]></dc:creator><pubDate>Sun, 22 Feb 2009 23:03:30 GMT</pubDate></item><item><title><![CDATA[Reply to Indexparameterübergabe on Sun, 22 Feb 2009 23:14:18 GMT]]></title><description><![CDATA[<p>Hallo,<br />
wow, das ging ja schnell. Erstmal vielen lieben Dank für die Antwort. Mich würde jetzt noch interessieren, wie man sich das Array holt, wenn man nicht weiss, wieviele Elemente es hat?</p>
<p>Und dann noch eine Frage: Warum denn &quot;(&amp;xyz)&quot;? Verstehe ich nicht ganz.</p>
<p>Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1668447</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1668447</guid><dc:creator><![CDATA[Miriam_]]></dc:creator><pubDate>Sun, 22 Feb 2009 23:14:18 GMT</pubDate></item><item><title><![CDATA[Reply to Indexparameterübergabe on Sun, 22 Feb 2009 23:28:15 GMT]]></title><description><![CDATA[<p>Wenn die Anzahl der Elemente unbekannt ist, kannst du den Array nicht übergeben. Du kannst dann, wie bereits vorgeschlagen wurde, einen Zeiger auf das erste Element im Array übergeben und ein Offset zum Zeiger addieren, um auf die Elemente zugreifen zu können. Da man aber so die Anzahl der Elemente nicht mehr herausfinden kann, ist diese Vorgehensweise eher unbeliebt. Stattdessen würde ich eine Referenz auf einen <code>std::vector</code> vorschlagen. <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>
<p>Miriam_ schrieb:</p>
<blockquote>
<p>Warum denn &quot;(&amp;xyz)&quot;? Verstehe ich nicht ganz.</p>
</blockquote>
<p>Das ist eine Sache mit der Priorität der Operatoren; Klammern haben immer die höchste Priorität. <code>T (&amp;)[U]</code> ist eine Referenz auf einen Array mit <code>U</code> Elementen vom Typ <code>T</code> . Analog dazu ist <code>T (*)[U]</code> ein Zeiger auf einen Array mit <code>U</code> Elementen vom Typ <code>T</code> . <code>T &amp;[U]</code> wäre ein Array mit <code>U</code> Referenzen auf <code>T</code> , was aber aufgrund der Semantik von Referenzen vom C++-Compiler nicht angenommen wird. <code>T *[U]</code> ist analog dazu ein Array mit <code>U</code> Zeigern auf <code>T</code> .</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1668453</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1668453</guid><dc:creator><![CDATA[*rant*]]></dc:creator><pubDate>Sun, 22 Feb 2009 23:28:15 GMT</pubDate></item></channel></rss>