<?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[mehrdimensionale arrays, warum kann compiler größe nicht errechnen]]></title><description><![CDATA[<p>ich bin fast verrückt geworden als ich data so werte geben wollte:</p>
<pre><code class="language-cpp">float data[][] = {{0,0},{0,1},{1,0},{1,1}};
</code></pre>
<p>dabei ist dass doch mit eindim. arrays möglich...</p>
<pre><code class="language-cpp">float data[4][2] = {{0,0},{0,1},{1,0},{1,1}};
float lsg[] = {0,1,1,1};
</code></pre>
<p>warum nicht bei mehrdimensionalen?</p>
<p>im übrigen bekomme ich fehler wenn meine funktionsparameter nicht auch skalar sind:</p>
<pre><code class="language-cpp">void perzeptron::training(float data[4][2], float *lsg)
</code></pre>
<p>, warum darf ich kein</p>
<pre><code class="language-cpp">void perzeptron::training(float **data, float *lsg)
</code></pre>
<p>verwenden?</p>
<p>ein besseres beispiel wäre ncoh dass hier:</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;

using namespace std;

int fkt(char **b)
{
    cout&lt;&lt;b[0]&lt;&lt;endl;;
    cout&lt;&lt;b[1]&lt;&lt;endl;;    
}

int main(int argc, char *argv[])
{
    char **temp;
    char data1[2][6] = {{&quot;hallo&quot;},{&quot;ciao&quot;}};

    char **data2;
    data2 = new char*[2];
    data2[0] = &quot;hallo&quot;;
    data2[1] = &quot;ciao&quot;;

    *temp = data1[0];
    temp[1] = data1[1];
    fkt(temp);
    //fkt(data1); //fehler
    fkt(data2);

    system(&quot;PAUSE&quot;);
    return EXIT_SUCCESS;
}
</code></pre>
<p>ich weiß zwar das ein [][] nicht ein ** ist, und das auch anderer maschienencode erzeugt wird, aber warum ist der compiler nicht in der lage bei funktionsaufrufen zu konvertieren, zumal eine simple zuweisung von passenden objekten auchmöglich ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/118968/mehrdimensionale-arrays-warum-kann-compiler-größe-nicht-errechnen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 15:15:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/118968.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 26 Aug 2005 08:56:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to mehrdimensionale arrays, warum kann compiler größe nicht errechnen on Fri, 26 Aug 2005 09:38:58 GMT]]></title><description><![CDATA[<p>ich bin fast verrückt geworden als ich data so werte geben wollte:</p>
<pre><code class="language-cpp">float data[][] = {{0,0},{0,1},{1,0},{1,1}};
</code></pre>
<p>dabei ist dass doch mit eindim. arrays möglich...</p>
<pre><code class="language-cpp">float data[4][2] = {{0,0},{0,1},{1,0},{1,1}};
float lsg[] = {0,1,1,1};
</code></pre>
<p>warum nicht bei mehrdimensionalen?</p>
<p>im übrigen bekomme ich fehler wenn meine funktionsparameter nicht auch skalar sind:</p>
<pre><code class="language-cpp">void perzeptron::training(float data[4][2], float *lsg)
</code></pre>
<p>, warum darf ich kein</p>
<pre><code class="language-cpp">void perzeptron::training(float **data, float *lsg)
</code></pre>
<p>verwenden?</p>
<p>ein besseres beispiel wäre ncoh dass hier:</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;

using namespace std;

int fkt(char **b)
{
    cout&lt;&lt;b[0]&lt;&lt;endl;;
    cout&lt;&lt;b[1]&lt;&lt;endl;;    
}

int main(int argc, char *argv[])
{
    char **temp;
    char data1[2][6] = {{&quot;hallo&quot;},{&quot;ciao&quot;}};

    char **data2;
    data2 = new char*[2];
    data2[0] = &quot;hallo&quot;;
    data2[1] = &quot;ciao&quot;;

    *temp = data1[0];
    temp[1] = data1[1];
    fkt(temp);
    //fkt(data1); //fehler
    fkt(data2);

    system(&quot;PAUSE&quot;);
    return EXIT_SUCCESS;
}
</code></pre>
<p>ich weiß zwar das ein [][] nicht ein ** ist, und das auch anderer maschienencode erzeugt wird, aber warum ist der compiler nicht in der lage bei funktionsaufrufen zu konvertieren, zumal eine simple zuweisung von passenden objekten auchmöglich ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/858822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/858822</guid><dc:creator><![CDATA[exigoner]]></dc:creator><pubDate>Fri, 26 Aug 2005 09:38:58 GMT</pubDate></item><item><title><![CDATA[Reply to mehrdimensionale arrays, warum kann compiler größe nicht errechnen on Fri, 26 Aug 2005 10:35:40 GMT]]></title><description><![CDATA[<p>hi, wieso nimmst du nicht einfach container? wie zB vector.</p>
<p>die kann man auch ineinander verschachteln, und lassen sich meiner meinung nach leichter handhaben. wenn schon c++, dann richtig :p <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/858909</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/858909</guid><dc:creator><![CDATA[_mika_]]></dc:creator><pubDate>Fri, 26 Aug 2005 10:35:40 GMT</pubDate></item><item><title><![CDATA[Reply to mehrdimensionale arrays, warum kann compiler größe nicht errechnen on Fri, 26 Aug 2005 11:03:33 GMT]]></title><description><![CDATA[<p>ich fand lediglich das prinzip interessant!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/858936</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/858936</guid><dc:creator><![CDATA[exigoner]]></dc:creator><pubDate>Fri, 26 Aug 2005 11:03:33 GMT</pubDate></item><item><title><![CDATA[Reply to mehrdimensionale arrays, warum kann compiler größe nicht errechnen on Fri, 26 Aug 2005 11:24:59 GMT]]></title><description><![CDATA[<p>Generell: Multidimenisonale Arrays sind fast immer eine schlechte Idee. Die Berechnung des Zugriffspunkte ist fuer die CPU immer recht aufwenig. Ausserdem ist das Allocieren und Aufraeumen des Heaps umstaendlich. Es ist fast immer besser ein Array zu verwenden (oder eine Container-Template - z.B. Vector) und dann den Zugriffspunkt mittels einer einfachen Multiplikations zu errechnen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/858954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/858954</guid><dc:creator><![CDATA[MBCS-CITP]]></dc:creator><pubDate>Fri, 26 Aug 2005 11:24:59 GMT</pubDate></item></channel></rss>