<?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]]></title><description><![CDATA[<p>hallo liebe leute,</p>
<p>benutze visual c++ 2005 express edition, und bekomme beim debuggen folgende<br />
fehlermeldung:</p>
<p>&quot;Unbehandelte Ausnahme bei 0x0041869a in programm.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0xcdcdcdd1.&quot;</p>
<p>die zugriffsverletzung passiert laut MVC++ in dieser zeile: ( hoffe doch das der gelbe pfeil bedeutet das da der fehler ist?! )</p>
<pre><code class="language-cpp">++block[_data-&gt;position[0&rsqb;&rsqb;[_data-&gt;finalAct[0&rsqb;&rsqb;[_data-&gt;gegnerAnzahl[0&rsqb;&rsqb;.zaehler;
</code></pre>
<p>nun habe ich mir _data-&gt;position[0], _data-&gt;... etc. vorher ausgeben lassen was mir A) gezeigt hat das alle werte innerhalb der größe der einzelnen dimensionen sind ( waren alle 0 ) und <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--smiling_face_with_sunglasses"
      title="B)"
      alt="😎"
    /> _data-&gt;... keine zugriffsverletzung verursacht.</p>
<p>block ist übrigens vom typ cell:</p>
<pre><code class="language-cpp">struct cell 
{
	Block_OppHistory *ptrToNextBlock; 
	uint zaehler;
	cell()
	{
		zaehler = 0;
		ptrToNextBlock = 0;
	}
};
</code></pre>
<p>nun meine frage:</p>
<p>Woran liegt es bzw. woran könnte es noch liegen?</p>
<p>vielen dank schonmal</p>
<p>gruß<br />
brums</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/195093/zugriffsverletzung</link><generator>RSS for Node</generator><lastBuildDate>Tue, 29 Sep 2026 21:16:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/195093.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 14 Oct 2007 01:08:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to zugriffsverletzung on Sun, 14 Oct 2007 01:08:36 GMT]]></title><description><![CDATA[<p>hallo liebe leute,</p>
<p>benutze visual c++ 2005 express edition, und bekomme beim debuggen folgende<br />
fehlermeldung:</p>
<p>&quot;Unbehandelte Ausnahme bei 0x0041869a in programm.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0xcdcdcdd1.&quot;</p>
<p>die zugriffsverletzung passiert laut MVC++ in dieser zeile: ( hoffe doch das der gelbe pfeil bedeutet das da der fehler ist?! )</p>
<pre><code class="language-cpp">++block[_data-&gt;position[0&rsqb;&rsqb;[_data-&gt;finalAct[0&rsqb;&rsqb;[_data-&gt;gegnerAnzahl[0&rsqb;&rsqb;.zaehler;
</code></pre>
<p>nun habe ich mir _data-&gt;position[0], _data-&gt;... etc. vorher ausgeben lassen was mir A) gezeigt hat das alle werte innerhalb der größe der einzelnen dimensionen sind ( waren alle 0 ) und <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--smiling_face_with_sunglasses"
      title="B)"
      alt="😎"
    /> _data-&gt;... keine zugriffsverletzung verursacht.</p>
<p>block ist übrigens vom typ cell:</p>
<pre><code class="language-cpp">struct cell 
{
	Block_OppHistory *ptrToNextBlock; 
	uint zaehler;
	cell()
	{
		zaehler = 0;
		ptrToNextBlock = 0;
	}
};
</code></pre>
<p>nun meine frage:</p>
<p>Woran liegt es bzw. woran könnte es noch liegen?</p>
<p>vielen dank schonmal</p>
<p>gruß<br />
brums</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1384722</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1384722</guid><dc:creator><![CDATA[brums]]></dc:creator><pubDate>Sun, 14 Oct 2007 01:08:36 GMT</pubDate></item><item><title><![CDATA[Reply to zugriffsverletzung on Sun, 14 Oct 2007 04:50:13 GMT]]></title><description><![CDATA[<p>Keine Ahnung, ob es das sein kann, aber man soll keine Unterstriche am Anfang von variablen haben, weil die auch vom compiler verwendet werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1384726</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1384726</guid><dc:creator><![CDATA[Monsterparty]]></dc:creator><pubDate>Sun, 14 Oct 2007 04:50:13 GMT</pubDate></item><item><title><![CDATA[Reply to zugriffsverletzung on Sun, 14 Oct 2007 07:16:58 GMT]]></title><description><![CDATA[<p>Ist block ein 3 dim. array, wenn ich mir klammerung anschaue?</p>
<p>sowas:</p>
<pre><code class="language-cpp">Block*** block = new Block**[DIM_X];
for(int x=0; x&lt;DIM_X;++x){
  block[x]= new Block*[DIM_Y];
  for(int y=0; y&lt;DIM_Y;++y)
    block[x][y]= mew Block[DIM_Z];
}
</code></pre>
<p>oder sowas</p>
<pre><code class="language-cpp">Block[DIM_X][DIM_Y][DIM_Z] block;
</code></pre>
<p>kann es sein das du bei einer der drei dimension einen zu große index hast?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1384730</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1384730</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Sun, 14 Oct 2007 07:16:58 GMT</pubDate></item><item><title><![CDATA[Reply to zugriffsverletzung on Sun, 14 Oct 2007 11:53:54 GMT]]></title><description><![CDATA[<p>block ist ein 3 dim array den ich in einer klasse angelegt habe und in der methode kommt die zugriffsverletzung. ( zeile 21 )</p>
<pre><code class="language-cpp">class hist
{
    struct cell 
    { 
        Block_OppHistory *ptrToNextBlock; 
        uint zaehler; 
        cell() 
        { 
            zaehler = 0; 
            ptrToNextBlock = 0; 
        } 
    };
    cell block[5][13][6];

    void add( infoData * _data )
	{
		int action = _data-&gt;finalAct[0];
		if( action == -1 )
			return;
		std::cout&lt;&lt;&quot;p:&quot;&lt;&lt;_data-&gt;position[0]&lt;&lt;&quot;,fA=&quot;&lt;&lt;_data-&gt;finalAct[0]&lt;&lt;&quot;,g=&quot;&lt;&lt;_data-&gt;gegnerAnzahl[0]&lt;&lt;&quot;\n&quot;;
		++block[_data-&gt;position[0&rsqb;&rsqb;[_data-&gt;finalAct[0&rsqb;&rsqb;[_data-&gt;gegnerAnzahl[0&rsqb;&rsqb;.zaehler;
		++gesamt_block_seen;

		for( uint i = 1; i &lt; 4; ++i )
		{
			if( action == _data-&gt;finalAct[i] ){
				continue;}
			else{
				action = _data-&gt;finalAct[i];}
			if( action == -1 )
				return;
			++block[_data-&gt;position[i&rsqb;&rsqb;[_data-&gt;finalAct[i&rsqb;&rsqb;[_data-&gt;gegnerAnzahl[i&rsqb;&rsqb;.zaehler;
			++gesamt_block_seen;
		}
	}
};
</code></pre>
<p>an den indezes kann es nicht liegen da sie wenn der fehler auftritt u.a. alle 0 ( Null ) sind. an dem strich vor der variablen eigentlich auch nicht da ich sehr viele dieser art habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1384813</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1384813</guid><dc:creator><![CDATA[brums]]></dc:creator><pubDate>Sun, 14 Oct 2007 11:53:54 GMT</pubDate></item><item><title><![CDATA[Reply to zugriffsverletzung on Sun, 14 Oct 2007 12:01:09 GMT]]></title><description><![CDATA[<p>Mehrfach-Arrays sind ohnehin fehleranfällig und soweit ich meine Compiler-abhängig.</p>
<p>Von daher: schenk dir die Arbeit und lege alle Elemente in einem großen 1-dimensionalen Array an und schreib entsprechende Zugriffsmethoden anhand der Indizes</p>
<p>also</p>
<pre><code>Index(x,y,z) = z * size_X * size_Y + y * size_X + x;
</code></pre>
<p>Mir ist nicht ganz klar, was der Präfix <em>++block</em> bewirken soll? sieht so aus, als würde dadurch HINTER das array gesprungen, da der Compiler an der Stelle sozusagen ein weiteres block-Array anspringen will</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1384817</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1384817</guid><dc:creator><![CDATA[crashterpiece]]></dc:creator><pubDate>Sun, 14 Oct 2007 12:01:09 GMT</pubDate></item><item><title><![CDATA[Reply to zugriffsverletzung on Sun, 14 Oct 2007 12:00:03 GMT]]></title><description><![CDATA[<p>crashterpiece schrieb:</p>
<blockquote>
<p>Mehrfach-Arrays sind ... soweit ich meine Compiler-abhängig.</p>
</blockquote>
<p>Nicht wirklich, oder? Quelle?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1384821</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1384821</guid><dc:creator><![CDATA[echt?]]></dc:creator><pubDate>Sun, 14 Oct 2007 12:00:03 GMT</pubDate></item><item><title><![CDATA[Reply to zugriffsverletzung on Sun, 14 Oct 2007 12:02:27 GMT]]></title><description><![CDATA[<p>echt? schrieb:</p>
<blockquote>
<p>crashterpiece schrieb:</p>
<blockquote>
<p>Mehrfach-Arrays sind ... soweit ich meine Compiler-abhängig.</p>
</blockquote>
<p>Nicht wirklich, oder? Quelle?</p>
</blockquote>
<p>wie gesagt: soweit ich meine.</p>
<p>wir hatten mal probleme zwischen visual studio und gcc, aber wenn ich mich irre, dann bitte ich um aufklärung...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1384823</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1384823</guid><dc:creator><![CDATA[crashterpiece]]></dc:creator><pubDate>Sun, 14 Oct 2007 12:02:27 GMT</pubDate></item><item><title><![CDATA[Reply to zugriffsverletzung on Sun, 14 Oct 2007 12:26:25 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/17233">@crashterpiece</a></p>
<pre><code class="language-cpp">++block[][][].zaehler;
</code></pre>
<p>erhöht den zaehler... müsste doch funktionieren?!</p>
<p>naja werds dann mal umschreiben...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1384845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1384845</guid><dc:creator><![CDATA[brums]]></dc:creator><pubDate>Sun, 14 Oct 2007 12:26:25 GMT</pubDate></item><item><title><![CDATA[Reply to zugriffsverletzung on Sun, 14 Oct 2007 12:35:01 GMT]]></title><description><![CDATA[<p>brums schrieb:</p>
<blockquote>
<p>naja werds dann mal umschreiben...</p>
</blockquote>
<pre><code class="language-cpp">block[][][].zaehler++;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1384858</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1384858</guid><dc:creator><![CDATA[crashterpiece]]></dc:creator><pubDate>Sun, 14 Oct 2007 12:35:01 GMT</pubDate></item><item><title><![CDATA[Reply to zugriffsverletzung on Sun, 14 Oct 2007 14:53:18 GMT]]></title><description><![CDATA[<p>crashterpiece schrieb:</p>
<blockquote>
<p>brums schrieb:</p>
<blockquote>
<p>naja werds dann mal umschreiben...</p>
</blockquote>
<pre><code class="language-cpp">block[][][].zaehler++;
</code></pre>
</blockquote>
<p>Das macht etwas durchaus aderes <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Könnte allerdings durchaus an der Operator - Priorität liegen, versuchs mal mit Klammerung:</p>
<pre><code class="language-cpp">++(block[][][].zaehler);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1384949</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1384949</guid><dc:creator><![CDATA[darthdespotism]]></dc:creator><pubDate>Sun, 14 Oct 2007 14:53:18 GMT</pubDate></item><item><title><![CDATA[Reply to zugriffsverletzung on Sun, 14 Oct 2007 15:23:57 GMT]]></title><description><![CDATA[<p>also... folgendes ist völlig gleich:</p>
<p>++block[][][].zaeler;<br />
++(block[][][].zahler);<br />
block[][][].zahler++; (&lt;-- vll. bissl anders aber ergebnis gleich <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> )<br />
block[][][].zaehler+=1;</p>
<p>und das alles lässt die zugriffsverletzung nicht verschwinden.</p>
<p>nehm jetzt einfach mal an das der compiler das nicht handhaben kann, glaub zwar das ich irgendwo was übersehe aber dauert mir jetzt zulange...<br />
ich mach das mit dem 1D array</p>
<p>dank &amp; gruß<br />
brums</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1384966</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1384966</guid><dc:creator><![CDATA[brums]]></dc:creator><pubDate>Sun, 14 Oct 2007 15:23:57 GMT</pubDate></item><item><title><![CDATA[Reply to zugriffsverletzung on Mon, 15 Oct 2007 11:08:19 GMT]]></title><description><![CDATA[<p>geh nochmal mit dem debugger durch, da du im debug build arbeitest, weisen speicheradressen wie 0xcdcdcdd1 also mit häufigen hexadezimalen wiederholungen auf eine nicht initialisierte variable hin ... auch WENN die werte innerhalb der dimension liegen, im debugbuild initialisiert der compiler alle zahlen und pointer mit einem markantem sich wiederholenden bytemuster.</p>
<p>zu dem inhaltlichen problem hab ich jetzt nichts tut mir leid</p>
<p>ansonsten versuchs doch mal mit generellen nullsetzen aller variablen bei der instantiierung (kontruktor)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1385463</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1385463</guid><dc:creator><![CDATA[Ceos]]></dc:creator><pubDate>Mon, 15 Oct 2007 11:08:19 GMT</pubDate></item></channel></rss>