<?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[2d-Array Rückgabe]]></title><description><![CDATA[<p>Hallo!</p>
<p>Wie bringe ich die Funktion dazu, ein 2d Array zurück zu geben? Bin ich gezwungen das Array mit einem reinterpret_cast auf char**** zu casten?</p>
<pre><code class="language-cpp">const char shapes[7][4][4][4] = { bla bla };

const char** GetShape(int x, int y)
{
  return shapes[x][y];
}
</code></pre>
<p>Gruss</p>
<p>Stefan</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/180541/2d-array-rückgabe</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 20:33:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/180541.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 03 May 2007 20:28:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to 2d-Array Rückgabe on Thu, 03 May 2007 20:28:11 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Wie bringe ich die Funktion dazu, ein 2d Array zurück zu geben? Bin ich gezwungen das Array mit einem reinterpret_cast auf char**** zu casten?</p>
<pre><code class="language-cpp">const char shapes[7][4][4][4] = { bla bla };

const char** GetShape(int x, int y)
{
  return shapes[x][y];
}
</code></pre>
<p>Gruss</p>
<p>Stefan</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1278402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1278402</guid><dc:creator><![CDATA[__Stefan__]]></dc:creator><pubDate>Thu, 03 May 2007 20:28:11 GMT</pubDate></item><item><title><![CDATA[Reply to 2d-Array Rückgabe on Thu, 03 May 2007 20:34:18 GMT]]></title><description><![CDATA[<p>Öhm, ich verstehe irgendwie nicht, was du möchtest?<br />
Das was du versuchst zurückzugeben, ist ein Element deines 2D-Arrays.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1278409</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1278409</guid><dc:creator><![CDATA[The-Kenny]]></dc:creator><pubDate>Thu, 03 May 2007 20:34:18 GMT</pubDate></item><item><title><![CDATA[Reply to 2d-Array Rückgabe on Thu, 03 May 2007 20:40:10 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">const char (&amp;GetShape(int x, int y))[4][4]
{
  return shapes[x][y];
}
</code></pre>
<p>ein typedef ist angebracht:</p>
<pre><code class="language-cpp">typedef const char (&amp;slice_2d)[4][4];
slice_2d GetShape(int x, int y)
...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1278411</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1278411</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 03 May 2007 20:40:10 GMT</pubDate></item><item><title><![CDATA[Reply to 2d-Array Rückgabe on Thu, 03 May 2007 20:41:15 GMT]]></title><description><![CDATA[<p>Ich habe ein 4d-Array und möchte mittels einer Funktion ein 2d-Array extrahieren. Das beispiel, das ich geschrieben habe, funktioniert nicht, weil Array und Pointer scheinbar nicht kompatibel sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1278412</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1278412</guid><dc:creator><![CDATA[__Stefan__]]></dc:creator><pubDate>Thu, 03 May 2007 20:41:15 GMT</pubDate></item><item><title><![CDATA[Reply to 2d-Array Rückgabe on Thu, 03 May 2007 20:43:10 GMT]]></title><description><![CDATA[<p><strong>Stefan</strong> schrieb:</p>
<blockquote>
<p>Ich habe ein 4d-Array und möchte mittels einer Funktion ein 2d-Array extrahieren. Das beispiel, das ich geschrieben habe, funktioniert nicht, weil Array und Pointer scheinbar nicht kompatibel sind.</p>
</blockquote>
<p>nicht nur scheinbar. Wenn es das Gleiche wäre, bräuchten wir nicht zwei verschiedene Begriffe dafür.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1278414</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1278414</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 03 May 2007 20:43:10 GMT</pubDate></item><item><title><![CDATA[Reply to 2d-Array Rückgabe on Thu, 03 May 2007 20:50:59 GMT]]></title><description><![CDATA[<p>Wieso eigentlich die ganze Geschichte mit sovielen Dimensionen. Das ist doch alles viel zu umständlich und kompliziert. Vllt kannst du es ja anders lösen ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1278418</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1278418</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 03 May 2007 20:50:59 GMT</pubDate></item><item><title><![CDATA[Reply to 2d-Array Rückgabe on Thu, 03 May 2007 20:52:05 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<pre><code class="language-cpp">const char (&amp;GetShape(int x, int y))[4][4]
{
  return shapes[x][y];
}
</code></pre>
<p>ein typedef ist angebracht:</p>
<pre><code class="language-cpp">typedef const char (&amp;slice_2d)[4][4];
slice_2d GetShape(int x, int y)
...
</code></pre>
</blockquote>
<p>Wieso brauche ich (&amp; ) damit die Funktion ein Array zurück geben kann? Wie nennt man dieses Konstrukt? <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1278419</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1278419</guid><dc:creator><![CDATA[__Stefan__]]></dc:creator><pubDate>Thu, 03 May 2007 20:52:05 GMT</pubDate></item><item><title><![CDATA[Reply to 2d-Array Rückgabe on Thu, 03 May 2007 20:57:04 GMT]]></title><description><![CDATA[<p><strong>Stefan</strong> schrieb:</p>
<blockquote>
<p>camper schrieb:</p>
<blockquote>
<pre><code class="language-cpp">const char (&amp;GetShape(int x, int y))[4][4]
{
  return shapes[x][y];
}
</code></pre>
<p>ein typedef ist angebracht:</p>
<pre><code class="language-cpp">typedef const char (&amp;slice_2d)[4][4];
slice_2d GetShape(int x, int y)
...
</code></pre>
</blockquote>
<p>Wieso brauche ich (&amp; ) damit die Funktion ein Array zurück geben kann? Wie nennt man dieses Konstrukt? <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>
</blockquote>
<p>Das ist eine Referenz. Per Value kannst du keine Arrays zurückgeben. Alternative wäre die Rückgabe eines Pointers auf das erste Element dieses Arrays. Das bringt allerdings keinerlei Vorteile, es gehen nur Typinformationen verloren:</p>
<pre><code class="language-cpp">const char (*GetShape(int x, int y))[4]
{
  return shapes[x][y];
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1278423</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1278423</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 03 May 2007 20:57:04 GMT</pubDate></item><item><title><![CDATA[Reply to 2d-Array Rückgabe on Thu, 03 May 2007 21:07:02 GMT]]></title><description><![CDATA[<p>Danke, das hat mir geholfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1278428</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1278428</guid><dc:creator><![CDATA[__Stefan__]]></dc:creator><pubDate>Thu, 03 May 2007 21:07:02 GMT</pubDate></item></channel></rss>