<?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[struct durchsuchen]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>habe hier ein kleines Problem.</p>
<pre><code class="language-cpp">struct Data{
	unsigned int id;
	Data *next;
}m_data;
</code></pre>
<pre><code class="language-cpp">bool Userdata::checkExist ( unsigned int id ) {

	struct Data *tmp = m_data;

	while ( tmp != NULL ) {
		if ( tmp-&gt;id == id ) return true;
		tmp = tmp-&gt;next;
	}

	return false;
}
</code></pre>
<p>wie kann es HIER zu einem Speicherzugriffsfehler kommen? Wo kann hier der fehler sein? für mich sieht das alles in Ordnung aus, aber sobald die Funktion aufgerufen wird ist alles hinne. ( zumindest wenn 3 oder mehr Objekte drin sind. )</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/305902/struct-durchsuchen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 08 Aug 2026 12:07:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/305902.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 11 Jul 2012 20:47:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to struct durchsuchen on Wed, 11 Jul 2012 20:47:06 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>habe hier ein kleines Problem.</p>
<pre><code class="language-cpp">struct Data{
	unsigned int id;
	Data *next;
}m_data;
</code></pre>
<pre><code class="language-cpp">bool Userdata::checkExist ( unsigned int id ) {

	struct Data *tmp = m_data;

	while ( tmp != NULL ) {
		if ( tmp-&gt;id == id ) return true;
		tmp = tmp-&gt;next;
	}

	return false;
}
</code></pre>
<p>wie kann es HIER zu einem Speicherzugriffsfehler kommen? Wo kann hier der fehler sein? für mich sieht das alles in Ordnung aus, aber sobald die Funktion aufgerufen wird ist alles hinne. ( zumindest wenn 3 oder mehr Objekte drin sind. )</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2232046</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2232046</guid><dc:creator><![CDATA[bux]]></dc:creator><pubDate>Wed, 11 Jul 2012 20:47:06 GMT</pubDate></item><item><title><![CDATA[Reply to struct durchsuchen on Wed, 11 Jul 2012 20:52:45 GMT]]></title><description><![CDATA[<p>bux schrieb:</p>
<blockquote>
<p>wie kann es HIER zu einem Speicherzugriffsfehler kommen?</p>
</blockquote>
<p>Auf 1000 mögliche Arten. Im Endeffekt wird es aber darauf hinaus laufen, dass ein dereferenzierter Zeiger ungültig ist. Daher ist interessanter, woher die Zeiger ihre Werte bekommen. Oder noch interessanter: Warum programmierst du std::list schlecht nach? Hausaufgabe oder Unwissen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2232049</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2232049</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 11 Jul 2012 20:52:45 GMT</pubDate></item><item><title><![CDATA[Reply to struct durchsuchen on Wed, 11 Jul 2012 20:57:17 GMT]]></title><description><![CDATA[<p>bin von C auf C++ umgestiegen, und keine ahnung wieso, aber ich habe aus versehen list/vector nachgebaut ohne darüber nachzudenken, dass es die gibt - aber jetzt interessiert mich dennoch wie der fehler enstehen kann.</p>
<p>Wenn der Pointer ungültig ist dann bricht er die schleife ab und es wird auf nichts zugegriffen, und wenn er doch gültig ist dann sollte ja die <strong>id</strong> dennoch vorhanden sein und kein fehler verursachen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2232051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2232051</guid><dc:creator><![CDATA[bux]]></dc:creator><pubDate>Wed, 11 Jul 2012 20:57:17 GMT</pubDate></item><item><title><![CDATA[Reply to struct durchsuchen on Wed, 11 Jul 2012 21:00:22 GMT]]></title><description><![CDATA[<p>bux schrieb:</p>
<blockquote>
<p>Wenn der Pointer ungültig ist dann bricht er die schleife ab und es wird auf nichts zugegriffen, und wenn er doch gültig ist dann sollte ja die <strong>id</strong> dennoch vorhanden sein und kein fehler verursachen.</p>
</blockquote>
<p>Nö. Wenn der Pointer 0 ist, dann wird die Schleife abgebrochen. Ungültig kann alles mögliche sein. Ein uninitialisierter Zeigerwert, ein Zeiger auf ein freigegebenes Objekt, ein Zeiger hinter ein Array, …</p>
<p>Wenn du in C++ versuchst, wie in C zu programmieren, dann sind solche Arten von Fehler nun einmal an der Tagesordnung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2232052</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2232052</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 11 Jul 2012 21:00:22 GMT</pubDate></item><item><title><![CDATA[Reply to struct durchsuchen on Wed, 11 Jul 2012 21:08:20 GMT]]></title><description><![CDATA[<p>schade, aber dennoch danke<br />
bin erlich gesagt nicht schlau aus dem fehler geworden - es sind wirklich alle sachen ordentlich erstellt worden und dürften keine fehler verursachen. naja was solls, arbeite ich halt nun mit vectoren weiter</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2232056</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2232056</guid><dc:creator><![CDATA[bux]]></dc:creator><pubDate>Wed, 11 Jul 2012 21:08:20 GMT</pubDate></item><item><title><![CDATA[Reply to struct durchsuchen on Wed, 11 Jul 2012 21:21:42 GMT]]></title><description><![CDATA[<blockquote>
<p>es sind wirklich alle sachen ordentlich erstellt worden und dürften keine fehler verursachen</p>
</blockquote>
<p>Na, wer wird hier wohl Recht haben, du oder der Computer? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Geh doch mal mit dem Debugger durch, warum es kracht. Oder unter Linux ist valgrind optimal um solche Fehler zu finden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2232058</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2232058</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 11 Jul 2012 21:21:42 GMT</pubDate></item><item><title><![CDATA[Reply to struct durchsuchen on Wed, 11 Jul 2012 22:32:56 GMT]]></title><description><![CDATA[<p>Du zeigst nicht den Originalcode, m_data ist hier kein Pointer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2232076</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2232076</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Wed, 11 Jul 2012 22:32:56 GMT</pubDate></item><item><title><![CDATA[Reply to struct durchsuchen on Thu, 12 Jul 2012 07:31:13 GMT]]></title><description><![CDATA[<p>bux schrieb:</p>
<blockquote>
<p>aber jetzt interessiert mich dennoch wie der fehler enstehen kann.</p>
</blockquote>
<p>Eine Möglichkeit, der Sache auf den Grund zu gehen, ist <a href="http://www.c-plusplus.net/forum/304133" rel="nofollow">die hier</a>; denn keiner, der dir helfen will, kann dir helfen, weil du nur ein paar uninteressante Fetzen deines Programms fehlerhaft abgetippt hast, statt das Problem auf ein kompilierbares Minimalprogramm zu reduzieren und dieses dann hier 1:1 zu zeigen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2232116</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2232116</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Thu, 12 Jul 2012 07:31:13 GMT</pubDate></item></channel></rss>