<?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[new double[][] ??]]></title><description><![CDATA[<p>Ist es moeglich, mehrdimensionale Arrays per new zu reservieren?<br />
Folgendes funktioniert ja:</p>
<pre><code class="language-cpp">double* bla = new double[20];
</code></pre>
<p>Nun bruache ich aber auch etwas was wie folgt aussehen sollte:</p>
<pre><code class="language-cpp">double** blabla = new double[10][3];
</code></pre>
<p>Dabei kriege ich allerdings folgende Meldung:</p>
<pre><code>whatever.C:3: error: cannot convert `double (*)[4]' to `double**'
</code></pre>
<p>Wie ist das zu loesen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/189093/new-double</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 07:51:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/189093.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 08 Aug 2007 13:24:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to new double[][] ?? on Wed, 08 Aug 2007 13:24:32 GMT]]></title><description><![CDATA[<p>Ist es moeglich, mehrdimensionale Arrays per new zu reservieren?<br />
Folgendes funktioniert ja:</p>
<pre><code class="language-cpp">double* bla = new double[20];
</code></pre>
<p>Nun bruache ich aber auch etwas was wie folgt aussehen sollte:</p>
<pre><code class="language-cpp">double** blabla = new double[10][3];
</code></pre>
<p>Dabei kriege ich allerdings folgende Meldung:</p>
<pre><code>whatever.C:3: error: cannot convert `double (*)[4]' to `double**'
</code></pre>
<p>Wie ist das zu loesen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1340811</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1340811</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 08 Aug 2007 13:24:32 GMT</pubDate></item><item><title><![CDATA[Reply to new double[][] ?? on Wed, 08 Aug 2007 13:33:00 GMT]]></title><description><![CDATA[<p>Du reservierst dir erst ein paar <strong>Pointer</strong> auf Double.<br />
Und dann reservierst du auf diese Pointer die Doubles<br />
(am besten in ner Schleife)</p>
<pre><code class="language-cpp">double** bla = new double*[10];
for(int i=0; i&lt; 10; ++i)
    bla[i] = new double[10];
</code></pre>
<p>//EDIT:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39489.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-39489.html</a><br />
Dieser Faq-Eintrag zeigt noch ein paar andere Wege.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1340815</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1340815</guid><dc:creator><![CDATA[Mario Sandler]]></dc:creator><pubDate>Wed, 08 Aug 2007 13:33:00 GMT</pubDate></item><item><title><![CDATA[Reply to new double[][] ?? on Wed, 08 Aug 2007 13:38:48 GMT]]></title><description><![CDATA[<p>danke. Da ich mich ums Aufraeumen angeblich nicht kuemmern brauch/kann, und ich keinen Zugriff auf eine einwandfrei funktionierende STL hab UND Nachfolger mit wenig Programmierkenntnissen das wohl auch lesen koennen sollen, werd ich wohl die von dir beschrieben Methode nutzen. (Ihgitt <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="😉"
    /> )</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1340827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1340827</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 08 Aug 2007 13:38:48 GMT</pubDate></item><item><title><![CDATA[Reply to new double[][] ?? on Wed, 08 Aug 2007 14:02:07 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">template&lt;typename T&gt;
class arr_2d
{
public:
    arr_2d(std::size_t row, std::size_t col) : m_row(row), m_col(col)
    { m_data = new T[m_row * m_col]; }

    ~arr_2d() { delete [] m_data; }   

    T* operator[](std::size_t row)
    { return &amp;m_data[row * m_col]; }

private:
    T* m_data;
    std::size_t m_row;
    std::size_t m_col;
};
</code></pre>
<p>ist aber echt primitiv ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1340852</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1340852</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Wed, 08 Aug 2007 14:02:07 GMT</pubDate></item><item><title><![CDATA[Reply to new double[][] ?? on Wed, 08 Aug 2007 14:56:37 GMT]]></title><description><![CDATA[<p>Oder du scheibst</p>
<pre><code class="language-cpp">double *blabla = new double[10][3];
</code></pre>
<p><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/1340895</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1340895</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Wed, 08 Aug 2007 14:56:37 GMT</pubDate></item><item><title><![CDATA[Reply to new double[][] ?? on Wed, 08 Aug 2007 15:13:51 GMT]]></title><description><![CDATA[<p>Naja wie man aus meiner oben geposteten Fehlermeldung schon sehen kann, kommt dann sowas:</p>
<pre><code>whatever.C:3: error: cannot convert `double (*)[3]' to `double*'
</code></pre>
<p>(zugegeben, diesmal ist nicht double** sondern double* das Konvertierungsziel, aber das macht keinen Unterschied im Ergebnis...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1340914</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1340914</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 08 Aug 2007 15:13:51 GMT</pubDate></item><item><title><![CDATA[Reply to new double[][] ?? on Wed, 08 Aug 2007 15:21:46 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>Naja wie man aus meiner oben geposteten Fehlermeldung schon sehen kann, kommt dann sowas:</p>
<pre><code>whatever.C:3: error: cannot convert `double (*)[3]' to `double*'
</code></pre>
<p>(zugegeben, diesmal ist nicht double** sondern double* das Konvertierungsziel, aber das macht keinen Unterschied im Ergebnis...</p>
</blockquote>
<p>Es steht doch alles da. Das Ergebnis von</p>
<pre><code class="language-cpp">new double[10][3]
</code></pre>
<p>ist kein double* sondern ein double(*)[3] - ein Zeiger auf ein Array; also musst du nur blabla entsprechend deklarieren. C und C++ kennen eigentlich keine mehrdimensionalen Arrays im eigentlichen Sinn, dafür darf der Elementtyp eines Arrays selbst ein Array sein.</p>
<pre><code class="language-cpp">double(*blabla)[3] = new double[10][3];
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1340921</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1340921</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 08 Aug 2007 15:21:46 GMT</pubDate></item></channel></rss>