<?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[Fehler bei Arbeitsspeicherreservierung]]></title><description><![CDATA[<p>Hallo.</p>
<p>Ich schreib gerade so einen MD2-Loader.<br />
In meiner Klasse CPlayer, abgeleitet von CMD2Model, habe ich einen Vektor, der Zeiger auf CMD2Models speichert.<br />
Dieser Vektor soll die Waffen darstellen.</p>
<p>Meine Funktion CPlayer::AddWeapon schaut so aus:</p>
<pre><code class="language-cpp">void CPlayer::AddWeapon(const char* filename,const char* Texname)
{
    CMD2Model *M=new CMD2Model();
    MessageBox(NULL,&quot;Jetzt kommt M-&gt;Load...&quot;,&quot;&quot;,0);
    if(M-&gt;LoadModel(filename))
    {MessageBox(NULL,&quot;in AddWeapon : Model erfolgreich geladen&quot;,&quot;&quot;,0);};
    //if(!M-&gt;LoadTexture(Texname))
    //{MessageBox(NULL,&quot;Fehler in AddWeapon : Kann Textur nicht laden&quot;,&quot;&quot;,0);};
    //Weapons.push_back(Weapon);
};
</code></pre>
<p>Also ruft AddWeapon immer die Funktion LoadModel von CMD2Model auf.<br />
In dieser Fuktion gibt es dann an einer Stelle wo Speicher reserviert wird immer einen Absturz:</p>
<pre><code class="language-cpp">triangles = new md2_triangles[header.num_tris];
</code></pre>
<p>Das Problem habe ich nicht wenn das Player-Modell geladen wird, also bei CPlayer::LoadModel,<br />
und ich hatte es auch nicht als ich die Waffen nicht als vector&lt;CMD2Model*&gt; sondern als CMD2Model* darstellte.<br />
Deswegen vermute ich dass es damit zusammenhängt dass ich die Waffen als Vektor speichere.</p>
<p>Also, wisst ihr warum ein Fehler bei der Speicherreservierung auftritt?<br />
Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/161749/fehler-bei-arbeitsspeicherreservierung</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 23:42:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/161749.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 10 Oct 2006 18:36:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fehler bei Arbeitsspeicherreservierung on Tue, 10 Oct 2006 18:36:41 GMT]]></title><description><![CDATA[<p>Hallo.</p>
<p>Ich schreib gerade so einen MD2-Loader.<br />
In meiner Klasse CPlayer, abgeleitet von CMD2Model, habe ich einen Vektor, der Zeiger auf CMD2Models speichert.<br />
Dieser Vektor soll die Waffen darstellen.</p>
<p>Meine Funktion CPlayer::AddWeapon schaut so aus:</p>
<pre><code class="language-cpp">void CPlayer::AddWeapon(const char* filename,const char* Texname)
{
    CMD2Model *M=new CMD2Model();
    MessageBox(NULL,&quot;Jetzt kommt M-&gt;Load...&quot;,&quot;&quot;,0);
    if(M-&gt;LoadModel(filename))
    {MessageBox(NULL,&quot;in AddWeapon : Model erfolgreich geladen&quot;,&quot;&quot;,0);};
    //if(!M-&gt;LoadTexture(Texname))
    //{MessageBox(NULL,&quot;Fehler in AddWeapon : Kann Textur nicht laden&quot;,&quot;&quot;,0);};
    //Weapons.push_back(Weapon);
};
</code></pre>
<p>Also ruft AddWeapon immer die Funktion LoadModel von CMD2Model auf.<br />
In dieser Fuktion gibt es dann an einer Stelle wo Speicher reserviert wird immer einen Absturz:</p>
<pre><code class="language-cpp">triangles = new md2_triangles[header.num_tris];
</code></pre>
<p>Das Problem habe ich nicht wenn das Player-Modell geladen wird, also bei CPlayer::LoadModel,<br />
und ich hatte es auch nicht als ich die Waffen nicht als vector&lt;CMD2Model*&gt; sondern als CMD2Model* darstellte.<br />
Deswegen vermute ich dass es damit zusammenhängt dass ich die Waffen als Vektor speichere.</p>
<p>Also, wisst ihr warum ein Fehler bei der Speicherreservierung auftritt?<br />
Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1152407</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1152407</guid><dc:creator><![CDATA[Carmack]]></dc:creator><pubDate>Tue, 10 Oct 2006 18:36:41 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei Arbeitsspeicherreservierung on Tue, 10 Oct 2006 20:04:39 GMT]]></title><description><![CDATA[<p>Das kannst du doch alleine heraus finden. Fange doch einfach mal ne Exception ab. new wirft für gewöhnlich std::bad_alloc wenn zu wenig Speicher frei ist. Und ich schätze, header.num_tris ist auch zu groß. Denn wie groß ist denn ein md2_triangles-Objekt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1152452</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1152452</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Tue, 10 Oct 2006 20:04:39 GMT</pubDate></item></channel></rss>