<?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[2-dim. Array mit Pointer an Funktion übergeben?]]></title><description><![CDATA[<p>Hey Leute!</p>
<p>Ich hab folgenden Code:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
using namespace std;

void initSpielfeld(char** spielfeld)
{

}

int main()
{
	char spielfeld[15][13];

	initSpielfeld(spielfeld);

}
</code></pre>
<p>Nur funktioniert das Ganze nicht so wie ich das will. Was ist da falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/288302/2-dim-array-mit-pointer-an-funktion-übergeben</link><generator>RSS for Node</generator><lastBuildDate>Thu, 20 Aug 2026 00:43:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/288302.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 14 Jun 2011 11:12:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to 2-dim. Array mit Pointer an Funktion übergeben? on Tue, 14 Jun 2011 11:12:38 GMT]]></title><description><![CDATA[<p>Hey Leute!</p>
<p>Ich hab folgenden Code:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
using namespace std;

void initSpielfeld(char** spielfeld)
{

}

int main()
{
	char spielfeld[15][13];

	initSpielfeld(spielfeld);

}
</code></pre>
<p>Nur funktioniert das Ganze nicht so wie ich das will. Was ist da falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2077899</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2077899</guid><dc:creator><![CDATA[vip*r]]></dc:creator><pubDate>Tue, 14 Jun 2011 11:12:38 GMT</pubDate></item><item><title><![CDATA[Reply to 2-dim. Array mit Pointer an Funktion übergeben? on Tue, 14 Jun 2011 11:29:37 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void initSpielfeld((*spielfeld)[13])
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2077906</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2077906</guid><dc:creator><![CDATA[sebi91]]></dc:creator><pubDate>Tue, 14 Jun 2011 11:29:37 GMT</pubDate></item><item><title><![CDATA[Reply to 2-dim. Array mit Pointer an Funktion übergeben? on Tue, 14 Jun 2011 11:30:48 GMT]]></title><description><![CDATA[<p>mal anders rum gefragt, was funktioniert denn nicht?<br />
fehlermeldung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2077907</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2077907</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Tue, 14 Jun 2011 11:30:48 GMT</pubDate></item><item><title><![CDATA[Reply to 2-dim. Array mit Pointer an Funktion übergeben? on Tue, 14 Jun 2011 11:37:01 GMT]]></title><description><![CDATA[<p>sry war jetzt mein fehler</p>
<pre><code class="language-cpp">void initSpielfeld( char (*spielfeld)[13])
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2077915</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2077915</guid><dc:creator><![CDATA[sebi91]]></dc:creator><pubDate>Tue, 14 Jun 2011 11:37:01 GMT</pubDate></item><item><title><![CDATA[Reply to 2-dim. Array mit Pointer an Funktion übergeben? on Tue, 14 Jun 2011 11:39:18 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">struct Spielfeld
{
 char feld[15][13];
};

void initSpielfeld(Spielfeld &amp;feld)
{
}

int main()
{
    Spielfeld spielfeld;
    initSpielfeld(spielfeld);
}
</code></pre>
<p>Aber bevor du groß weiter machst, empfehle ich dir, ein Lehrbuch(kapitel) über Objektorientierung in C++ zu lesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2077917</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2077917</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 14 Jun 2011 11:39:18 GMT</pubDate></item><item><title><![CDATA[Reply to 2-dim. Array mit Pointer an Funktion übergeben? on Tue, 14 Jun 2011 11:42:36 GMT]]></title><description><![CDATA[<p>Skym0sh0 schrieb:</p>
<blockquote>
<p>mal anders rum gefragt, was funktioniert denn nicht?<br />
fehlermeldung?</p>
</blockquote>
<p>Funktioniert nicht heisst vermutlich: compiliert nicht <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="🙂"
    /><br />
Und zwar genau deshalb nicht, weil spielfeld bei der Übergabe nicht wie vom TE wahrscheinlich angenommen in einen pointer-to-pointer-to-char zerfällt.</p>
<p>sebi91 schrieb:</p>
<blockquote>
<p>sry war jetzt mein fehler</p>
<pre><code class="language-cpp">void initSpielfeld( char (*spielfeld)[13])
</code></pre>
</blockquote>
<p>Und woher weisst du nun, wie gross die erste Dimension ist?<br />
Besser und immernoch schlecht:</p>
<pre><code class="language-cpp">void initSpielfeld( char spielfeld[][13], std::size_t dimension1) {
//...
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2077918</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2077918</guid><dc:creator><![CDATA[inter2k3]]></dc:creator><pubDate>Tue, 14 Jun 2011 11:42:36 GMT</pubDate></item><item><title><![CDATA[Reply to 2-dim. Array mit Pointer an Funktion übergeben? on Tue, 14 Jun 2011 12:03:26 GMT]]></title><description><![CDATA[<p>die C-Lösung, kaum krisensicherer wäre:</p>
<p>void initSpielfeld(char * Field,size_t dimensionX,size_t dimensionY)</p>
<p>Anmerkung:<br />
C kann keine Exeptions. Fehler musst ueber die Funktions-Signaturen zurueckgeben.<br />
deshalb haben C-Style die meisten Funktionen, wo Fehler auftreten koennen, die aber nicht zu terminate führen sollen, einen FehlerCode als RueckgabeWert.</p>
<p>int initSpielfeld(char * Field,size_t dimensionX,size_t dimensionY)</p>
<p>sieht schon eher wie klassisches C aus.</p>
<p>noch nen Tick Krisensicherer geht es mit Safety Funktionen aehnlich den _s funktionen der Winapi. Ob das so viel bringt und den Aufwand lohnt ... k.A. kommt auf den Anwendungsfall an.</p>
<p>Aber wie gesagt, das ist allertiefstes C !</p>
<p>C++ Style ware:</p>
<p>- RAII - Klassen die sich selber initalisieren ! Also Init funktionen überfluessig machen.<br />
- Dyn. Speicherallokation den Containern ueberlassen.</p>
<p>also Dynamisch statt C-Arrays -&gt; std::vector<br />
Mussen es StackKlassen sein, dann C-Array's ordentlich kapseln. Mit denen will ausserhalb keiner zu tun haben !<br />
boost::Array bietet da einige Template-basierte Ansaetze!</p>
<p>Ciao ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2077931</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2077931</guid><dc:creator><![CDATA[RHBaum]]></dc:creator><pubDate>Tue, 14 Jun 2011 12:03:26 GMT</pubDate></item><item><title><![CDATA[Reply to 2-dim. Array mit Pointer an Funktion übergeben? on Tue, 14 Jun 2011 12:49:01 GMT]]></title><description><![CDATA[<p>inter2k3 schrieb:</p>
<blockquote>
<p>Und woher weisst du nun, wie gross die erste Dimension ist?<br />
Besser und immernoch schlecht:</p>
</blockquote>
<p>der compiler weis schon selber wann die erste dimesion zu ende ist<br />
nur bei der zweiten dimension ist eine angabe nötig</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2077961</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2077961</guid><dc:creator><![CDATA[sebi91]]></dc:creator><pubDate>Tue, 14 Jun 2011 12:49:01 GMT</pubDate></item><item><title><![CDATA[Reply to 2-dim. Array mit Pointer an Funktion übergeben? on Tue, 14 Jun 2011 15:03:04 GMT]]></title><description><![CDATA[<p>Wenn die Groesse immer gleich ist reicht auch einfach void initSpielfeld(char spielfeld[15][13]);</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2078066</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2078066</guid><dc:creator><![CDATA[this-*gt*that]]></dc:creator><pubDate>Tue, 14 Jun 2011 15:03:04 GMT</pubDate></item><item><title><![CDATA[Reply to 2-dim. Array mit Pointer an Funktion übergeben? on Tue, 14 Jun 2011 16:20:53 GMT]]></title><description><![CDATA[<p>Bitte nutze doch eine Klasse die einen einfach geschachtelten Vektor enthält.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2078114</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2078114</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Tue, 14 Jun 2011 16:20:53 GMT</pubDate></item></channel></rss>