<?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[Absturz]]></title><description><![CDATA[<p>Hallo.</p>
<pre><code class="language-cpp">machwas(char* Speicher)
{
...

Speicher = new char[Anzahl]; //Wird der Speicher hier angefordert, krachts unten

...
}

funk()
{
char* Speicher;

//Speicher = new char[ANZAHL];  würde der Speicher hier angefordert, klappts unten

machwas(Speicher);

andere_Funktion(Speicher);//Hier, in dieser Funktion, wird lesend auf Speicher zugegriffen, dabei krachts

delete[] Speicher;
}
</code></pre>
<p>Ist es legal, ein noch nicht initialisiertes Feld (char* Speicher) einer Funktion (machwas) zu übergeben, die das Feld mit new anlegt? Ich weiß, dass man Felder in der Funktion anlegen soll, in der sie auch gelöscht werden, aber da geht es nicht anders.</p>
<p>Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/192681/absturz</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 14:44:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/192681.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 17 Sep 2007 14:24:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Absturz on Mon, 17 Sep 2007 14:24:55 GMT]]></title><description><![CDATA[<p>Hallo.</p>
<pre><code class="language-cpp">machwas(char* Speicher)
{
...

Speicher = new char[Anzahl]; //Wird der Speicher hier angefordert, krachts unten

...
}

funk()
{
char* Speicher;

//Speicher = new char[ANZAHL];  würde der Speicher hier angefordert, klappts unten

machwas(Speicher);

andere_Funktion(Speicher);//Hier, in dieser Funktion, wird lesend auf Speicher zugegriffen, dabei krachts

delete[] Speicher;
}
</code></pre>
<p>Ist es legal, ein noch nicht initialisiertes Feld (char* Speicher) einer Funktion (machwas) zu übergeben, die das Feld mit new anlegt? Ich weiß, dass man Felder in der Funktion anlegen soll, in der sie auch gelöscht werden, aber da geht es nicht anders.</p>
<p>Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1367031</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1367031</guid><dc:creator><![CDATA[Fräger]]></dc:creator><pubDate>Mon, 17 Sep 2007 14:24:55 GMT</pubDate></item><item><title><![CDATA[Reply to Absturz on Mon, 17 Sep 2007 14:28:52 GMT]]></title><description><![CDATA[<p>Der Parameter der Funktion ist eine <em>Kopie</em> der übergebenen Variablen, d.h. die Zuweisung wirkt sich überhaupt nicht auf die Variable im Hauptprogramm aus. Wenn du etwas anderes brauchst, mußt du die Variable als Referenz (char*&amp; Speicher) oder Zeiger (char** Speicher - dereferenzieren nicht vergessen) entgegennehmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1367036</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1367036</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 17 Sep 2007 14:28:52 GMT</pubDate></item><item><title><![CDATA[Reply to Absturz on Mon, 17 Sep 2007 14:57:16 GMT]]></title><description><![CDATA[<p>Danke.<br />
Du bist es.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1367067</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1367067</guid><dc:creator><![CDATA[Fräger]]></dc:creator><pubDate>Mon, 17 Sep 2007 14:57:16 GMT</pubDate></item></channel></rss>