<?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[Zugriffsverletzung wahrscheinlich verursacht durch Zeiger]]></title><description><![CDATA[<p>Hallo liebes C++ Forum,<br />
ich arbeite zur Zeit an einem kleinen Spiel bin jedoch noch recht neu in C++ und durchschaue Zeiger noch nicht zu 100%.</p>
<p>Ich möchte einen MouseHandler erstellen und ihm einen Zeiger auf den SelectionHandler mitgeben, damit er auf dessen Funktionen zugreifen kann.<br />
Sobald das Programm aber auf m_pSelectionHandler versucht zuzugreifen gibt es eine Zugriffsverletzung.</p>
<pre><code>Game.h
	SelectionHandler *pSelectionHandler;
	MouseHandler *pMouseHandler;

Game.cpp
	//in einer initialisierungs funktion:
	pSelectionHandler = new SelectionHandler();
	pMouseHandler = new MouseHandler(pSelectionHandler);

MouseHandler.h
	MouseHandler(SelectionHandler *pSelectionHandler);
	private:
	SelectionHandler *m_pSelectionHandler;

MouseHandler.cpp
	MouseHandler::MouseHandler(SelectionHandler *pSelectionHandler)
	{
		m_pSelectionHandler = pSelectionHandler;
	}

	//später in einer Funktion MouseEvent:
	if((GetEntityIdUnderMouse() != 0)  &amp;&amp; (m_pSelectionHandler))			// erste Bedingung klappt, beim Zugreifen auf m_pSelectionHandler knallts
	{
		m_pSelectionHandler-&gt;SetSelected(GetEntityIdUnderMouse());
	}
</code></pre>
<p>Ich hoffe ihr könnt mir helfen, denn ich such nun seit geraumer Zeit den Fehler <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>Gruß<br />
Myosotis</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/311937/zugriffsverletzung-wahrscheinlich-verursacht-durch-zeiger</link><generator>RSS for Node</generator><lastBuildDate>Mon, 03 Aug 2026 06:26:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/311937.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 18 Dec 2012 20:38:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zugriffsverletzung wahrscheinlich verursacht durch Zeiger on Tue, 18 Dec 2012 20:38:13 GMT]]></title><description><![CDATA[<p>Hallo liebes C++ Forum,<br />
ich arbeite zur Zeit an einem kleinen Spiel bin jedoch noch recht neu in C++ und durchschaue Zeiger noch nicht zu 100%.</p>
<p>Ich möchte einen MouseHandler erstellen und ihm einen Zeiger auf den SelectionHandler mitgeben, damit er auf dessen Funktionen zugreifen kann.<br />
Sobald das Programm aber auf m_pSelectionHandler versucht zuzugreifen gibt es eine Zugriffsverletzung.</p>
<pre><code>Game.h
	SelectionHandler *pSelectionHandler;
	MouseHandler *pMouseHandler;

Game.cpp
	//in einer initialisierungs funktion:
	pSelectionHandler = new SelectionHandler();
	pMouseHandler = new MouseHandler(pSelectionHandler);

MouseHandler.h
	MouseHandler(SelectionHandler *pSelectionHandler);
	private:
	SelectionHandler *m_pSelectionHandler;

MouseHandler.cpp
	MouseHandler::MouseHandler(SelectionHandler *pSelectionHandler)
	{
		m_pSelectionHandler = pSelectionHandler;
	}

	//später in einer Funktion MouseEvent:
	if((GetEntityIdUnderMouse() != 0)  &amp;&amp; (m_pSelectionHandler))			// erste Bedingung klappt, beim Zugreifen auf m_pSelectionHandler knallts
	{
		m_pSelectionHandler-&gt;SetSelected(GetEntityIdUnderMouse());
	}
</code></pre>
<p>Ich hoffe ihr könnt mir helfen, denn ich such nun seit geraumer Zeit den Fehler <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>Gruß<br />
Myosotis</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2281321</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2281321</guid><dc:creator><![CDATA[Myosotis]]></dc:creator><pubDate>Tue, 18 Dec 2012 20:38:13 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsverletzung wahrscheinlich verursacht durch Zeiger on Thu, 20 Dec 2012 08:32:35 GMT]]></title><description><![CDATA[<p>Wo knallt es denn genau? Schon beim if oder beim Aufruf von SetSelected?</p>
<p>Wenn beim if so ist wahrscheinlich der this-pointer fehlerhaft. Ansonsten ist es m_pSelectionHandler.</p>
<p>Gründe dafür gibt es viele. Die können aus Deinem Minischnipsel nicht ermittelt werden. Schau mal, ob die Objekte vieleicht irgendwo gelöscht wurden.</p>
<p>mfg Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2281814</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2281814</guid><dc:creator><![CDATA[mgaeckler]]></dc:creator><pubDate>Thu, 20 Dec 2012 08:32:35 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsverletzung wahrscheinlich verursacht durch Zeiger on Thu, 20 Dec 2012 08:37:13 GMT]]></title><description><![CDATA[<p>Benutze lieber Smart Pointer statt roher Zeiger - falls du überhaupt Zeiger benötigst. Könntest du nicht den SelectionHandler in Game &quot;normal&quot; erstellen und Referenzen rumreichen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2281815</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2281815</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Thu, 20 Dec 2012 08:37:13 GMT</pubDate></item></channel></rss>