<?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[Programm findet nach erstellen einer Liste die alte Funktion nicht mehr?]]></title><description><![CDATA[<p>Hi,<br />
Wenn ich den untenstehenden Code ausführe, dann bekomme ich einen Speicheraddressierungsfehler, der für mich so Aussieht, also wüsste das Programm die nächste Funktion nicht (Compiler schreibt : &quot;IN ??? () ()&quot;).</p>
<pre><code class="language-cpp">struct MyOwnList
{
    char Typ[10];
    MyOwnList *next;
    bool last;
};

MyOwnList *FirstPointInList = NULL;
MyOwnList *buffer = NULL;

//ganz viel toller Code
//irgendwann kommt der Aufruf(passiert öfters)...

void DataFound(char *DataName)
{
    char Typ[10] = {'\0'};

    //Dateityp finden
    DataTyp(DataName,Typ);

    //Dateityp neu?
    if (NewDataTyp(Typ) == true)
    {
        MyOwnList *temp = new MyOwnList;
        CopyString(temp-&gt;Typ,Typ);
        temp-&gt;next = temp; //letzten Eintrag auf sich selber Zeigen lassen....
        temp-&gt;last = true; //Makieren welcher Eintrag nun der letzte ist
        if (FirstPointInList == NULL) FirstPointInList = temp; //Beim ersten durchlauf den ersten Knoten festlegen
        else
        {
            buffer-&gt;next = temp; //Wenn nicht den Next des alten Knotens auf den neuen Knoten zeigen lassen
            buffer-&gt;last = false;
        }
        buffer = temp; //Adresse des Knotens für nächsten Durchlauf speichern...
    }
}
//weitere Funktion...
//Programmende/Kette killn
</code></pre>
<p>Irgendwo muss es ja mit der Speicheradressierung zusammenhängen, doch was mache ich falsch?<br />
An den verschiedenen Funktion kann es nicht liegen, die werden korrekt ausgeführt, nur beim Verlassen von DataFound() gibt es stress.</p>
<p>Danke schonmal</p>
<p>p.s. Ich weiss, dank &quot;bool last&quot; im struct müsste ich den Knoten nicht immer auf sich zeigen lassen...<br />
Wens interessiert, die Funtkion wird rekursiv aufgerufen (Fehler tritt schon beim ersten Aufruf auf..) und soll halt dann was machen, wenn eine Datei gefunden wurde und falss die Endung neu ist, das Ganze speichern.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/181057/programm-findet-nach-erstellen-einer-liste-die-alte-funktion-nicht-mehr</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 02:00:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/181057.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 09 May 2007 14:51:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Programm findet nach erstellen einer Liste die alte Funktion nicht mehr? on Wed, 09 May 2007 14:53:38 GMT]]></title><description><![CDATA[<p>Hi,<br />
Wenn ich den untenstehenden Code ausführe, dann bekomme ich einen Speicheraddressierungsfehler, der für mich so Aussieht, also wüsste das Programm die nächste Funktion nicht (Compiler schreibt : &quot;IN ??? () ()&quot;).</p>
<pre><code class="language-cpp">struct MyOwnList
{
    char Typ[10];
    MyOwnList *next;
    bool last;
};

MyOwnList *FirstPointInList = NULL;
MyOwnList *buffer = NULL;

//ganz viel toller Code
//irgendwann kommt der Aufruf(passiert öfters)...

void DataFound(char *DataName)
{
    char Typ[10] = {'\0'};

    //Dateityp finden
    DataTyp(DataName,Typ);

    //Dateityp neu?
    if (NewDataTyp(Typ) == true)
    {
        MyOwnList *temp = new MyOwnList;
        CopyString(temp-&gt;Typ,Typ);
        temp-&gt;next = temp; //letzten Eintrag auf sich selber Zeigen lassen....
        temp-&gt;last = true; //Makieren welcher Eintrag nun der letzte ist
        if (FirstPointInList == NULL) FirstPointInList = temp; //Beim ersten durchlauf den ersten Knoten festlegen
        else
        {
            buffer-&gt;next = temp; //Wenn nicht den Next des alten Knotens auf den neuen Knoten zeigen lassen
            buffer-&gt;last = false;
        }
        buffer = temp; //Adresse des Knotens für nächsten Durchlauf speichern...
    }
}
//weitere Funktion...
//Programmende/Kette killn
</code></pre>
<p>Irgendwo muss es ja mit der Speicheradressierung zusammenhängen, doch was mache ich falsch?<br />
An den verschiedenen Funktion kann es nicht liegen, die werden korrekt ausgeführt, nur beim Verlassen von DataFound() gibt es stress.</p>
<p>Danke schonmal</p>
<p>p.s. Ich weiss, dank &quot;bool last&quot; im struct müsste ich den Knoten nicht immer auf sich zeigen lassen...<br />
Wens interessiert, die Funtkion wird rekursiv aufgerufen (Fehler tritt schon beim ersten Aufruf auf..) und soll halt dann was machen, wenn eine Datei gefunden wurde und falss die Endung neu ist, das Ganze speichern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1281724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1281724</guid><dc:creator><![CDATA[Pille456]]></dc:creator><pubDate>Wed, 09 May 2007 14:53:38 GMT</pubDate></item><item><title><![CDATA[Reply to Programm findet nach erstellen einer Liste die alte Funktion nicht mehr? on Wed, 09 May 2007 14:58:14 GMT]]></title><description><![CDATA[<p>Pille456 schrieb:</p>
<blockquote>
<p>...nur beim Verlassen von DataFound() gibt es stress.</p>
</blockquote>
<p>das passiert meistens, wenn irgendwas die rücksprungadresse auf dem stack zerbröselt hat...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1281730</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1281730</guid><dc:creator><![CDATA[pale dog]]></dc:creator><pubDate>Wed, 09 May 2007 14:58:14 GMT</pubDate></item><item><title><![CDATA[Reply to Programm findet nach erstellen einer Liste die alte Funktion nicht mehr? on Wed, 09 May 2007 15:02:33 GMT]]></title><description><![CDATA[<p>Hmm gut ok, wie weiss ich nun was diese zerbröselt hat und warum ? <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/1281732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1281732</guid><dc:creator><![CDATA[Pille456]]></dc:creator><pubDate>Wed, 09 May 2007 15:02:33 GMT</pubDate></item><item><title><![CDATA[Reply to Programm findet nach erstellen einer Liste die alte Funktion nicht mehr? on Wed, 09 May 2007 15:07:31 GMT]]></title><description><![CDATA[<p>Pille456 schrieb:</p>
<blockquote>
<p>Hmm gut ok, wie weiss ich nun was diese zerbröselt hat und warum ? <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>
</blockquote>
<p>du könntest z.b. durch die funktion single-steppen und dabei den stack-pointer und den stack-inhalt im auge behalten...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1281740</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1281740</guid><dc:creator><![CDATA[pale dog]]></dc:creator><pubDate>Wed, 09 May 2007 15:07:31 GMT</pubDate></item></channel></rss>