<?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[dynamischen mehrdimensionalen array an eine Funktion übergeben und ihn dort erzeugen]]></title><description><![CDATA[<p>ich bin mir nicht 100% sicher ob meine Lösung funktioniert und würde gerne mal eure Meinungen dazu hören.</p>
<p>Also zuerst definiere ich eine Zweidimensionalen dynamischen Array und übergebe ihn dann an eine Funktion</p>
<pre><code class="language-cpp">Höhenfeld H;
float** HF;
H.LoadHF(&quot;test.bmp&quot;, &amp;HF);
</code></pre>
<p>nun möchte ich in dieser Funktion den Array so befüllen, das ich ihn im Hauptprogamm durch 2 Variablen wieder aufrufen kann</p>
<pre><code class="language-cpp">int Höhenfeld::LoadHF(const char* filename, float*** HF)
{
...
   HF[0] = new float* [Width];  //width und hight sind vom typ long
   for (int x = 0; x &lt; Width; x++)
   {
      HF[0][x] = new float [Hight];
   }
...
HF[0][x][y] = 1;
}
</code></pre>
<p>nun bin ich mir aber nicht sicher, ob ich im Hauptprogramm wieder auf die richtigen Werte zugreifen wenn ich H{x][y] aufrufe...<br />
beim compellieren und ausführen kommt zumindest keine Fehlermeldung</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/266283/dynamischen-mehrdimensionalen-array-an-eine-funktion-übergeben-und-ihn-dort-erzeugen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 03 Sep 2026 11:27:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/266283.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 06 May 2010 16:41:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to dynamischen mehrdimensionalen array an eine Funktion übergeben und ihn dort erzeugen on Thu, 06 May 2010 16:41:52 GMT]]></title><description><![CDATA[<p>ich bin mir nicht 100% sicher ob meine Lösung funktioniert und würde gerne mal eure Meinungen dazu hören.</p>
<p>Also zuerst definiere ich eine Zweidimensionalen dynamischen Array und übergebe ihn dann an eine Funktion</p>
<pre><code class="language-cpp">Höhenfeld H;
float** HF;
H.LoadHF(&quot;test.bmp&quot;, &amp;HF);
</code></pre>
<p>nun möchte ich in dieser Funktion den Array so befüllen, das ich ihn im Hauptprogamm durch 2 Variablen wieder aufrufen kann</p>
<pre><code class="language-cpp">int Höhenfeld::LoadHF(const char* filename, float*** HF)
{
...
   HF[0] = new float* [Width];  //width und hight sind vom typ long
   for (int x = 0; x &lt; Width; x++)
   {
      HF[0][x] = new float [Hight];
   }
...
HF[0][x][y] = 1;
}
</code></pre>
<p>nun bin ich mir aber nicht sicher, ob ich im Hauptprogramm wieder auf die richtigen Werte zugreifen wenn ich H{x][y] aufrufe...<br />
beim compellieren und ausführen kommt zumindest keine Fehlermeldung</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1893406</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893406</guid><dc:creator><![CDATA[tommy1987]]></dc:creator><pubDate>Thu, 06 May 2010 16:41:52 GMT</pubDate></item><item><title><![CDATA[Reply to dynamischen mehrdimensionalen array an eine Funktion übergeben und ihn dort erzeugen on Thu, 06 May 2010 16:54:14 GMT]]></title><description><![CDATA[<p>std::vector!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1893414</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893414</guid><dc:creator><![CDATA[Janjan]]></dc:creator><pubDate>Thu, 06 May 2010 16:54:14 GMT</pubDate></item><item><title><![CDATA[Reply to dynamischen mehrdimensionalen array an eine Funktion übergeben und ihn dort erzeugen on Thu, 06 May 2010 17:04:25 GMT]]></title><description><![CDATA[<p>ich glaube du hast da was falsch verstanden es geht um einen 2Dimensionalen Array unbekannter größe also irgendwas mit Vektoren zu machen wäre absolut dämlich</p>
<p>oder vielleicht sollte ich es anders ausdrücken. man könnte es eher als Matrix mit unbekannter größe beschreiben</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1893420</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893420</guid><dc:creator><![CDATA[tommy1987]]></dc:creator><pubDate>Thu, 06 May 2010 17:04:25 GMT</pubDate></item><item><title><![CDATA[Reply to dynamischen mehrdimensionalen array an eine Funktion übergeben und ihn dort erzeugen on Thu, 06 May 2010 17:05:45 GMT]]></title><description><![CDATA[<p>tommy1987 schrieb:</p>
<blockquote>
<p>irgendwas mit Vektoren zu machen wäre absolut dämlich</p>
</blockquote>
<p>Mit std::vector kannst du alles machen, was du mit arrays machst. I.d.R. ist es absolut dämlich keinen vector zu benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1893425</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893425</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Thu, 06 May 2010 17:05:45 GMT</pubDate></item><item><title><![CDATA[Reply to dynamischen mehrdimensionalen array an eine Funktion übergeben und ihn dort erzeugen on Thu, 06 May 2010 17:11:42 GMT]]></title><description><![CDATA[<p>nagut wenn ihr mir dann auch noch verratet wie, für mich ist es zumindest nicht wirklich ersichtlich</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1893428</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893428</guid><dc:creator><![CDATA[tommy1987]]></dc:creator><pubDate>Thu, 06 May 2010 17:11:42 GMT</pubDate></item><item><title><![CDATA[Reply to dynamischen mehrdimensionalen array an eine Funktion übergeben und ihn dort erzeugen on Thu, 06 May 2010 17:14:43 GMT]]></title><description><![CDATA[<p>std::vector&lt;std::vector&lt;int&gt; &gt;</p>
<p>Sinnvolle Alternative: boost::multi_array<br />
<a href="http://www.boost.org/doc/libs/1_43_0/libs/multi_array/doc/index.html" rel="nofollow">http://www.boost.org/doc/libs/1_43_0/libs/multi_array/doc/index.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1893430</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893430</guid><dc:creator><![CDATA[Janjan]]></dc:creator><pubDate>Thu, 06 May 2010 17:14:43 GMT</pubDate></item><item><title><![CDATA[Reply to dynamischen mehrdimensionalen array an eine Funktion übergeben und ihn dort erzeugen on Thu, 06 May 2010 17:28:04 GMT]]></title><description><![CDATA[<p>sorry das ich nochmal Frage ab wie erzeuge ich nun die länge der Vecoren dynamisch in der Function?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1893434</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893434</guid><dc:creator><![CDATA[tommy1987]]></dc:creator><pubDate>Thu, 06 May 2010 17:28:04 GMT</pubDate></item><item><title><![CDATA[Reply to dynamischen mehrdimensionalen array an eine Funktion übergeben und ihn dort erzeugen on Thu, 06 May 2010 17:31:42 GMT]]></title><description><![CDATA[<p><a href="http://www.boost.org/doc/libs/1_43_0/libs/multi_array/doc/user.html#sec_example" rel="nofollow">http://www.boost.org/doc/libs/1_43_0/libs/multi_array/doc/user.html#sec_example</a></p>
<pre><code class="language-cpp">#include &quot;boost/multi_array.hpp&quot;
#include &lt;cassert&gt;

int 
main () {
  // Create a 3D array that is 3 x 4 x 2
  typedef boost::multi_array&lt;double, 3&gt; array_type;
  typedef array_type::index index;
  array_type A(boost::extents[3][4][2]);

  // Assign values to the elements
  int values = 0;
  for(index i = 0; i != 3; ++i) 
    for(index j = 0; j != 4; ++j)
      for(index k = 0; k != 2; ++k)
        A[i][j][k] = values++;

  // Verify values
  int verify = 0;
  for(index i = 0; i != 3; ++i) 
    for(index j = 0; j != 4; ++j)
      for(index k = 0; k != 2; ++k)
        assert(A[i][j][k] == verify++);

  return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1893437</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893437</guid><dc:creator><![CDATA[Janjan]]></dc:creator><pubDate>Thu, 06 May 2010 17:31:42 GMT</pubDate></item><item><title><![CDATA[Reply to dynamischen mehrdimensionalen array an eine Funktion übergeben und ihn dort erzeugen on Thu, 06 May 2010 17:42:14 GMT]]></title><description><![CDATA[<p>das hilft mir nicht weiter, nachdiesem Quellcode mussich vorher wissen wie groß meine Matrix wird, aber ich weiss es erst innerhalb der Funktion</p>
<p>Also nochmal zum verständnis<br />
ich habe global</p>
<pre><code class="language-cpp">typedef boost::multi_array&lt;float, 2&gt; Matrix;
</code></pre>
<p>dann in der main</p>
<pre><code class="language-cpp">Höhenfeld H;
Matrix HF;
H.LoadHF(&quot;test.bmp&quot;, &amp;HF);
</code></pre>
<p>und jetzt fehlt mir die definition der größe der Matrix innerhalb der Funktion ohne das ich den Pointer verlier</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1893439</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893439</guid><dc:creator><![CDATA[tommy1987]]></dc:creator><pubDate>Thu, 06 May 2010 17:42:14 GMT</pubDate></item><item><title><![CDATA[Reply to dynamischen mehrdimensionalen array an eine Funktion übergeben und ihn dort erzeugen on Thu, 06 May 2010 18:00:00 GMT]]></title><description><![CDATA[<p>die Größen von solchen Dingen wie std::vector kann man normalerweise im Konstruktor und ggf. in resize()-Methoden angeben. Die jeweilige Doku dürfte dir da weiterhelfen <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/1893449</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893449</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 06 May 2010 18:00:00 GMT</pubDate></item><item><title><![CDATA[Reply to dynamischen mehrdimensionalen array an eine Funktion übergeben und ihn dort erzeugen on Thu, 06 May 2010 18:30:13 GMT]]></title><description><![CDATA[<p>Du musst nicht wissen wie groß die Arrays sind, du musst nur wissen wie viele Dimensionen dein Array haben soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1893465</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893465</guid><dc:creator><![CDATA[Janjan]]></dc:creator><pubDate>Thu, 06 May 2010 18:30:13 GMT</pubDate></item><item><title><![CDATA[Reply to dynamischen mehrdimensionalen array an eine Funktion übergeben und ihn dort erzeugen on Thu, 06 May 2010 18:44:35 GMT]]></title><description><![CDATA[<p>Ich habe mich nun entschieden, lieber meine Funktion umzuschreiben so das sie einen pointer zurückliefert, das ersparrt ne Menge Probleme.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1893474</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893474</guid><dc:creator><![CDATA[tommy1987]]></dc:creator><pubDate>Thu, 06 May 2010 18:44:35 GMT</pubDate></item><item><title><![CDATA[Reply to dynamischen mehrdimensionalen array an eine Funktion übergeben und ihn dort erzeugen on Thu, 06 May 2010 18:50:04 GMT]]></title><description><![CDATA[<p>Oder du nutzt boost::multi_array, spart noch mehr Probleme.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1893476</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893476</guid><dc:creator><![CDATA[Janjan]]></dc:creator><pubDate>Thu, 06 May 2010 18:50:04 GMT</pubDate></item></channel></rss>