<?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[Frage zu Pointern]]></title><description><![CDATA[<p>Hallo :),</p>
<p>ich habe folgendes Problem:</p>
<p>Ich habe eine Funktion an die ein Zeiger auf einen Zeiger übergeben wird, um Speicher zu reservieren.</p>
<pre><code>bool ReadFile(FileHeader** HeaderStruct,FileInfo** InfoStruct,char* Filename)
</code></pre>
<p>Das Erstellen klappt im ersten Teil gut mit:</p>
<pre><code>*HeaderStruct = new FileHeader;
</code></pre>
<p>Hier hoffe ich stimmt der Sytax auch, zumindest gibt cout das richtige aus^^:</p>
<pre><code>ReadFile(File,&amp;(*HeaderStruct)-&gt;i_Version,sizeof(int),&amp;Buffer,NULL);
</code></pre>
<p>Jetzt will ich allerdings einen Array erstellen und hier fangen die Probleme an:</p>
<pre><code>*InfoStruct = new FileInfo[Regions];
</code></pre>
<p>Folgender Code verursacht einen Speicherfehler und das Programm wird beendet (Regions hat einen Wert von 37, daran kanns nicht liegen):</p>
<pre><code>do
{
ReadFile(File,&amp;b_Buffer,sizeof(BYTE),&amp;Buffer,NULL);
			(*InfoStruct[6]).str_RegionName.push_back(char(b_Buffer));

}while(b_Buffer != 0x00);
</code></pre>
<p>Ich denke mal irgendwas hab ich noch nicht ganz verstanden und habe einen falschen Syntax verwendet :(.</p>
<p>Ich hoffe ihr könnte mir helfen das Problem zu lösen.</p>
<p>Lg<br />
Wood</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/240329/frage-zu-pointern</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 01:11:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/240329.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 05 May 2009 13:20:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu Pointern on Tue, 05 May 2009 13:20:58 GMT]]></title><description><![CDATA[<p>Hallo :),</p>
<p>ich habe folgendes Problem:</p>
<p>Ich habe eine Funktion an die ein Zeiger auf einen Zeiger übergeben wird, um Speicher zu reservieren.</p>
<pre><code>bool ReadFile(FileHeader** HeaderStruct,FileInfo** InfoStruct,char* Filename)
</code></pre>
<p>Das Erstellen klappt im ersten Teil gut mit:</p>
<pre><code>*HeaderStruct = new FileHeader;
</code></pre>
<p>Hier hoffe ich stimmt der Sytax auch, zumindest gibt cout das richtige aus^^:</p>
<pre><code>ReadFile(File,&amp;(*HeaderStruct)-&gt;i_Version,sizeof(int),&amp;Buffer,NULL);
</code></pre>
<p>Jetzt will ich allerdings einen Array erstellen und hier fangen die Probleme an:</p>
<pre><code>*InfoStruct = new FileInfo[Regions];
</code></pre>
<p>Folgender Code verursacht einen Speicherfehler und das Programm wird beendet (Regions hat einen Wert von 37, daran kanns nicht liegen):</p>
<pre><code>do
{
ReadFile(File,&amp;b_Buffer,sizeof(BYTE),&amp;Buffer,NULL);
			(*InfoStruct[6]).str_RegionName.push_back(char(b_Buffer));

}while(b_Buffer != 0x00);
</code></pre>
<p>Ich denke mal irgendwas hab ich noch nicht ganz verstanden und habe einen falschen Syntax verwendet :(.</p>
<p>Ich hoffe ihr könnte mir helfen das Problem zu lösen.</p>
<p>Lg<br />
Wood</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1705880</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1705880</guid><dc:creator><![CDATA[Wood]]></dc:creator><pubDate>Tue, 05 May 2009 13:20:58 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Pointern on Tue, 05 May 2009 13:40:35 GMT]]></title><description><![CDATA[<p>Wood schrieb:</p>
<blockquote>
<pre><code>do
{
ReadFile(File,&amp;b_Buffer,sizeof(BYTE),&amp;Buffer,NULL);
			(*InfoStruct[6]).str_RegionName.push_back(char(b_Buffer));

}while(b_Buffer != 0x00);
</code></pre>
</blockquote>
<p>Bei *InfoStruct[6] müsstest du zuerst dereferenzieren und dann den Indexoperator verwenden. Die Operatorenrangfolge ist allerdings andersrum.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1705904</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1705904</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Tue, 05 May 2009 13:40:35 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Pointern on Tue, 05 May 2009 13:55:19 GMT]]></title><description><![CDATA[<p>Ich habs jetzt hinbekommen, jedoch bereitet mir das Löschen nun Probleme...</p>
<p>Ich denke ich werde lieber Vektoren benutzen, da der Code nun seltsame Formen annimmt...</p>
<p>Vielen Dank für deine Hilfe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> <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/1705913</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1705913</guid><dc:creator><![CDATA[Wood]]></dc:creator><pubDate>Tue, 05 May 2009 13:55:19 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Pointern on Tue, 05 May 2009 21:33:59 GMT]]></title><description><![CDATA[<p>Wood schrieb:</p>
<blockquote>
<p>Ich denke ich werde lieber Vektoren benutzen, da der Code nun seltsame Formen annimmt...</p>
</blockquote>
<p>Weise Entscheidung. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>Doppelzeiger und Speicher-Beschaffungs-Funktionen sind in C noch relativ üblich, in C++ aber zumindest auf höherer Abstraktionsebene kaum noch vertreten. Der Wechsel zu Klassen und typsicheren Konstrukten erhöht nicht nur die Übersichtlichkeit und Wartbarkeit, sondern dämmt auch allfällige Fehler besser ein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1706148</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1706148</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 05 May 2009 21:33:59 GMT</pubDate></item></channel></rss>