<?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[Problem mit Zeigern]]></title><description><![CDATA[<p>Hallo Leute,<br />
Sorry, dass Ich schon wieder etwas bei euch poste, doch seit Tagen sitze Ich vor der gleichen Fehlermeldung. Das ist der Code:</p>
<pre><code class="language-cpp">class CSki
{
friend class CTree;
private:
	SDL_Rect     m_rect;
	SDL_Rect     m_clip[5];
	SDL_Surface  *m_image;

	int m_angle;

	int m_xSpeed;
	int m_ySpeed;

	bool m_collided;

	void set_clips();
public:
	CSki();

	void show();
	void move();
	void handle_events();
	void reversal(int direction);

	~CSki();
};

void CSki::set_clips()
{
	m_clip[0].x = 0;
	m_clip[0].y = 0;
	m_clip[0].w = 45;
	m_clip[0].h = 65;

	m_clip[1].x = 45;
	m_clip[1].y = 0;
	m_clip[1].w = 45;
	m_clip[1].h = 65;

	m_clip[2].x = 90;
	m_clip[2].y = 0;
	m_clip[2].w = 45;
	m_clip[2].h = 65;

	m_clip[3].x = 135;
	m_clip[3].y = 0;
	m_clip[3].w = 45;
	m_clip[3].h = 65;

	m_clip[4].x = 180;
	m_clip[4].y = 0;
	m_clip[4].w = 45;
	m_clip[4].h = 65;

	m_clip[5].x = 225;
	m_clip[5].y = 0;
	m_clip[5].w = 66;
	m_clip[5].h = 50;
}

CSki::CSki()
{
	m_image = load_image(&quot;Skier.png&quot;);

    m_rect.x = 298;
	m_rect.y = 100;

	m_angle = 2;

	m_xSpeed = 2;
	m_ySpeed = 0;

	m_collided = false;

	set_clips();
}

void CSki::show()
{	
	apply_surface(m_rect.x,m_rect.y,m_image,screen); //Diese Zeileverursacht das Problem
}

void CSki::move()
{
	if (!m_collided)
	{
	switch (m_angle)
	{
	case 0: m_xSpeed = -2; m_ySpeed = 1; break;
	case 1: m_xSpeed = -1; m_ySpeed = 2; break;
	case 2: m_xSpeed =  0; m_ySpeed = 3; break;
	case 3: m_xSpeed =  1; m_ySpeed = 2; break;
	case 4: m_xSpeed =  2; m_ySpeed = 1; break;
	}

	m_rect.x += m_xSpeed;

	SCROLLING_SPEED = m_ySpeed;

	if (m_rect.x &lt; 0) {m_rect.x = 0;}
	if (m_rect.x &gt; SCREEN_WIDTH - m_rect.w) {m_rect.x = SCREEN_WIDTH - m_rect.w;}
	}
}

void CSki::reversal(int direction)
{
	m_angle += direction;

	if (m_angle &gt; 4) {m_angle=4;}
	if (m_angle &lt;0) {m_angle=0;}
}

void CSki::handle_events()
{
	if (event.type == SDL_KEYDOWN)
	{
		if (event.key.keysym.sym == SDLK_LEFT)
		{
			reversal(-1);
		}

		if (event.key.keysym.sym == SDLK_RIGHT)
		{
			reversal(1);
		}
	}
}

CSki::~CSki()
{
	SDL_FreeSurface(m_image);
}
</code></pre>
<p>Die markierte Zeile verursacht das Problem. Es liegt daran, dass m_image nicht korrekt geladen wurde. Habt ihr Ideen, wie man das Problem lösen kann?</p>
<p>Vielen Dank</p>
<p>/edit pumuckl: BB-Codes aktiviert (sonst bringen die cpp-Tags nichts)</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/282015/problem-mit-zeigern</link><generator>RSS for Node</generator><lastBuildDate>Sun, 23 Aug 2026 09:37:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/282015.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 12 Feb 2011 09:30:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit Zeigern on Mon, 14 Feb 2011 09:44:05 GMT]]></title><description><![CDATA[<p>Hallo Leute,<br />
Sorry, dass Ich schon wieder etwas bei euch poste, doch seit Tagen sitze Ich vor der gleichen Fehlermeldung. Das ist der Code:</p>
<pre><code class="language-cpp">class CSki
{
friend class CTree;
private:
	SDL_Rect     m_rect;
	SDL_Rect     m_clip[5];
	SDL_Surface  *m_image;

	int m_angle;

	int m_xSpeed;
	int m_ySpeed;

	bool m_collided;

	void set_clips();
public:
	CSki();

	void show();
	void move();
	void handle_events();
	void reversal(int direction);

	~CSki();
};

void CSki::set_clips()
{
	m_clip[0].x = 0;
	m_clip[0].y = 0;
	m_clip[0].w = 45;
	m_clip[0].h = 65;

	m_clip[1].x = 45;
	m_clip[1].y = 0;
	m_clip[1].w = 45;
	m_clip[1].h = 65;

	m_clip[2].x = 90;
	m_clip[2].y = 0;
	m_clip[2].w = 45;
	m_clip[2].h = 65;

	m_clip[3].x = 135;
	m_clip[3].y = 0;
	m_clip[3].w = 45;
	m_clip[3].h = 65;

	m_clip[4].x = 180;
	m_clip[4].y = 0;
	m_clip[4].w = 45;
	m_clip[4].h = 65;

	m_clip[5].x = 225;
	m_clip[5].y = 0;
	m_clip[5].w = 66;
	m_clip[5].h = 50;
}

CSki::CSki()
{
	m_image = load_image(&quot;Skier.png&quot;);

    m_rect.x = 298;
	m_rect.y = 100;

	m_angle = 2;

	m_xSpeed = 2;
	m_ySpeed = 0;

	m_collided = false;

	set_clips();
}

void CSki::show()
{	
	apply_surface(m_rect.x,m_rect.y,m_image,screen); //Diese Zeileverursacht das Problem
}

void CSki::move()
{
	if (!m_collided)
	{
	switch (m_angle)
	{
	case 0: m_xSpeed = -2; m_ySpeed = 1; break;
	case 1: m_xSpeed = -1; m_ySpeed = 2; break;
	case 2: m_xSpeed =  0; m_ySpeed = 3; break;
	case 3: m_xSpeed =  1; m_ySpeed = 2; break;
	case 4: m_xSpeed =  2; m_ySpeed = 1; break;
	}

	m_rect.x += m_xSpeed;

	SCROLLING_SPEED = m_ySpeed;

	if (m_rect.x &lt; 0) {m_rect.x = 0;}
	if (m_rect.x &gt; SCREEN_WIDTH - m_rect.w) {m_rect.x = SCREEN_WIDTH - m_rect.w;}
	}
}

void CSki::reversal(int direction)
{
	m_angle += direction;

	if (m_angle &gt; 4) {m_angle=4;}
	if (m_angle &lt;0) {m_angle=0;}
}

void CSki::handle_events()
{
	if (event.type == SDL_KEYDOWN)
	{
		if (event.key.keysym.sym == SDLK_LEFT)
		{
			reversal(-1);
		}

		if (event.key.keysym.sym == SDLK_RIGHT)
		{
			reversal(1);
		}
	}
}

CSki::~CSki()
{
	SDL_FreeSurface(m_image);
}
</code></pre>
<p>Die markierte Zeile verursacht das Problem. Es liegt daran, dass m_image nicht korrekt geladen wurde. Habt ihr Ideen, wie man das Problem lösen kann?</p>
<p>Vielen Dank</p>
<p>/edit pumuckl: BB-Codes aktiviert (sonst bringen die cpp-Tags nichts)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2019973</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2019973</guid><dc:creator><![CDATA[Fr0d0]]></dc:creator><pubDate>Mon, 14 Feb 2011 09:44:05 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Zeigern on Sat, 12 Feb 2011 10:33:02 GMT]]></title><description><![CDATA[<p>Fr0d0 schrieb:</p>
<blockquote>
<p>seit Tagen sitze Ich vor der gleichen Fehlermeldung.</p>
</blockquote>
<p>Die da wäre?</p>
<p>Aktiviere BBCode in deinem Beitrag.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2019991</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2019991</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Sat, 12 Feb 2011 10:33:02 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Zeigern on Sat, 12 Feb 2011 12:42:29 GMT]]></title><description><![CDATA[<p>Unbehandelte Ausnahme bei 0x68128c2c in NextTry.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0x0000010d.</p>
<p>Das ist die Fehlermeldung. Habt ihr eine Idee, woran das liegen könnte?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2020032</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2020032</guid><dc:creator><![CDATA[Fr0d0]]></dc:creator><pubDate>Sat, 12 Feb 2011 12:42:29 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Zeigern on Sat, 12 Feb 2011 12:47:33 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">SDL_Rect m_clip[5];

m_clip[5].x = 225; 
m_clip[5].y = 0; 
m_clip[5].w = 66; 
m_clip[5].h = 50;
</code></pre>
<p>Ist nicht vereinbar, da m_clip mit 5 Elementen nur einen index von 0 bis 4 hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2020036</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2020036</guid><dc:creator><![CDATA[JaykopX]]></dc:creator><pubDate>Sat, 12 Feb 2011 12:47:33 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Zeigern on Sat, 12 Feb 2011 17:45:57 GMT]]></title><description><![CDATA[<p>Ich lerne auch seit ein 4 Monaten C++ aber ist bei dir am Anfang keinen Fehler?</p>
<p>Bei der Vererbung geht doch anders:</p>
<p>class CSki : public CTree<br />
{<br />
....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2020206</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2020206</guid><dc:creator><![CDATA[coldicka]]></dc:creator><pubDate>Sat, 12 Feb 2011 17:45:57 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Zeigern on Tue, 15 Feb 2011 13:09:20 GMT]]></title><description><![CDATA[<p>Nein Ich leite die Klasse einfack von einer anderen ab. Willkommen im Club- wegen der bisherigen Dauere des C++ lernens.</p>
<p>Noch einmal eine Frage zu verketten Listen. Bei mir erscheint die Meldung:<br />
&quot;Unbehandelte Ausnahme bei 0x681109b1 in NextTry.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0xfeeefeee.&quot;</p>
<p>Hier der code</p>
<pre><code class="language-cpp">void CGame::move_trees()
{
	std::list&lt;CTree&gt;::iterator iter = m_lTreeList.begin();

	for (iter;iter!=m_lTreeList.end();++iter)
	{
		if (iter-&gt;IsAlive() )
		{
			iter-&gt;move();
		}

		else
		{
			:arrow_right: m_lTreeList.pop_front();
		}
	}
}

void CGame::show_trees()
{
	for (std::list&lt;CTree&gt;::iterator iter = m_lTreeList.begin();iter!=m_lTreeList.end();++iter)
	{
		 :arrow_right: iter-&gt;show();
	}
}
</code></pre>
<p>Was mache ich falsch? Ideen? Die Zeilen, die ich auskommentieren muss, damits funzt sind masrkiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2021256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2021256</guid><dc:creator><![CDATA[Fr0d0]]></dc:creator><pubDate>Tue, 15 Feb 2011 13:09:20 GMT</pubDate></item></channel></rss>