<?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[Access violation writing location]]></title><description><![CDATA[<p>Mal ne frage:<br />
was hat &quot;Access violation writing location&quot; als debug-fehlermeldung zu bedeuten?<br />
Kann mir jemand helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/268542/access-violation-writing-location</link><generator>RSS for Node</generator><lastBuildDate>Tue, 01 Sep 2026 17:53:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/268542.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 10 Jun 2010 15:44:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Access violation writing location on Thu, 10 Jun 2010 15:47:43 GMT]]></title><description><![CDATA[<p>Mal ne frage:<br />
was hat &quot;Access violation writing location&quot; als debug-fehlermeldung zu bedeuten?<br />
Kann mir jemand helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1910138</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910138</guid><dc:creator><![CDATA[jonnybx]]></dc:creator><pubDate>Thu, 10 Jun 2010 15:47:43 GMT</pubDate></item><item><title><![CDATA[Reply to Access violation writing location on Thu, 10 Jun 2010 15:57:53 GMT]]></title><description><![CDATA[<p>Du greifst auf Speicher zu, der dir nicht gehört.<br />
Irgendwo machst du deine Zeiger kaputt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1910153</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910153</guid><dc:creator><![CDATA[Janjan]]></dc:creator><pubDate>Thu, 10 Jun 2010 15:57:53 GMT</pubDate></item><item><title><![CDATA[Reply to Access violation writing location on Thu, 10 Jun 2010 15:58:32 GMT]]></title><description><![CDATA[<p>Das ist eine Schutzverletzung. Du greifst auf Speicheradressen zu, auf die dein Programm nicht zugreifen darf. Das sind häufig Null-Pointer-Dereferenzierungen, oder Zugriffe auf bereits freigegebenen Speicher.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1910154</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910154</guid><dc:creator><![CDATA[Nukularfüsiker]]></dc:creator><pubDate>Thu, 10 Jun 2010 15:58:32 GMT</pubDate></item><item><title><![CDATA[Reply to Access violation writing location on Thu, 10 Jun 2010 16:24:32 GMT]]></title><description><![CDATA[<p>ok, aber wo zmach ich hier die zeiger kaputt?</p>
<p>Main.cpp:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &quot;Keyings.h&quot;
using namespace std;
using namespace keys;

int main (void)
{
	char teststring;
	cout &lt;&lt; &quot;press any key to start: \n(if you don't find any use j)\n&quot;;
	cin &gt;&gt; teststring;
	picturergb* pic1 = new picturergb;
	picturergb* pic2 = new picturergb;
	picturergb* pic3 = new picturergb;
	textkey* txt = new textkey;
	cout &lt;&lt; &quot;\ncreated two imagematrixes\n&quot;;
	cout &lt;&lt; sizeof(picturergb) &lt;&lt; &quot;\n&quot;;
#ifdef _OPENMP
	cout &lt;&lt; &quot;found OpenMP, dividing into 4 threads\n&quot;;
	for(int i = 0; i&lt;1500;i++)//schleife 1
	{
#pragma omp parallel sections
		{

#pragma omp section
			{
				int fader = i;
				int faderinv = 128-fader;
				for(int g=0;g&lt;320;g++)
				{
					int b = g;
					for(int h=0;h&lt;240;h++)
					{
						int l = h;
						pic3-&gt;red[l][b] = pic1-&gt;red[l][b]/128*fader + pic2-&gt;red[l][b]/128*faderinv;
						pic3-&gt;blue[l][b] = pic1-&gt;blue[l][b]/128*fader + pic2-&gt;blue[l][b]/128*faderinv;
						pic3-&gt;green[l][b] = pic1-&gt;green[l][b]/128*fader + pic2-&gt;green[l][b]/128*faderinv;
					}
				}
				cout &lt;&lt; &quot;quarter 1 done\n&quot;;
			}
#pragma omp section
			{
				int fader = i;
				int faderinv = 128-fader;
				for(int g=320;g&lt;640;g++)
				{
					int b = g;
					for(int h=0;h&lt;240;h++)
					{
						int l = h;
						pic3-&gt;red[l][b] = pic1-&gt;red[l][b]/128*fader + pic2-&gt;red[l][b]/128*faderinv;
						pic3-&gt;blue[l][b] = pic1-&gt;blue[l][b]/128*fader + pic2-&gt;blue[l][b]/128*faderinv;
						pic3-&gt;green[l][b] = pic1-&gt;green[l][b]/128*fader + pic2-&gt;green[l][b]/128*faderinv;
					}
				}
				cout &lt;&lt; &quot;quarter 2 done\n&quot;;
			}
#pragma omp section
			{
				int fader = i;
				int faderinv = 128-fader;
				for(int g=0;g&lt;320;g++)
				{
					int b = g;
					for(int h=240;h&lt;480;h++)
					{
						int l = h;
						pic3-&gt;red[l][b] = pic1-&gt;red[l][b]/128*fader + pic2-&gt;red[l][b]/128*faderinv;
						pic3-&gt;blue[l][b] = pic1-&gt;blue[l][b]/128*fader + pic2-&gt;blue[l][b]/128*faderinv;
						pic3-&gt;green[l][b] = pic1-&gt;green[l][b]/128*fader + pic2-&gt;green[l][b]/128*faderinv;
					}
				}
				cout &lt;&lt; &quot;quarter 3 done\n&quot;;
			}
#pragma omp section
			{
				int fader = i;
				int faderinv = 128-fader;
				for(int g=320;g&lt;640;g++)
				{
					int b = g;
					for(int h=240;h&lt;480;h++)
					{
						int l = h;
						pic3-&gt;red[l][b] = pic1-&gt;red[l][b]/128*fader + pic2-&gt;red[l][b]/128*faderinv;
						pic3-&gt;blue[l][b] = pic1-&gt;blue[l][b]/128*fader + pic2-&gt;blue[l][b]/128*faderinv;
						pic3-&gt;green[l][b] = pic1-&gt;green[l][b]/128*fader + pic2-&gt;green[l][b]/128*faderinv;
					}
				}
				cout &lt;&lt; &quot;quarter 4 done\n&quot;;
			}
		}
	cout &lt;&lt; &quot;picture ready!\n&quot;;
	pic3 = keys::Keying(pic3,txt); //Hier soll dann, nachdem das bild aus zwei bildern zusammengeflickt worden ist, gekeyt werden.
	}
#else
	for(int i=0;i&lt;1500;i++)
			{
				int fader = i;
				int faderinv = 128-fader;
				for(int g=0;g&lt;640;g++)
				{
					int b = g;
					for(int h=0;h&lt;480;h++)
					{
						int l = h;
						pic3-&gt;red[l][b] = pic1-&gt;red[l][b]/128*fader + pic2-&gt;red[l][b]/128*faderinv;
						pic3-&gt;blue[l][b] = pic1-&gt;blue[l][b]/128*fader + pic2-&gt;blue[l][b]/128*faderinv;
						pic3-&gt;green[l][b] = pic1-&gt;green[l][b]/128*fader + pic2-&gt;green[l][b]/128*faderinv;
					}
				}
				cout &lt;&lt; &quot;picture ready\n&quot;;
			}
#endif
	cout &lt;&lt; &quot;DONE\n&quot;;
	delete pic1;
	delete pic2;
	delete pic3;
	delete txt;
	cout &lt;&lt; &quot;pic 1 und pic 2 geloescht\n&quot;;
	cin &gt;&gt; teststring;
	return 0;
}
</code></pre>
<p>Keyings.h</p>
<pre><code class="language-cpp">#include &quot;Picture.h&quot;
namespace keys
{
	struct textkey
{
	int key[640][480];
	unsigned int text_color_rgb[3];
};
picturergb* Keying(picturergb* pic = new picturergb,textkey* text = new textkey)
{
	//picturergb* pic = new picturergb;
	for(int g=0;g&lt;640;g++)
	{
		int b = g;
		for(int h=0;h&lt;480;h++)
		{
			int l = h;
			if(text-&gt;key[l][b] == 1) // position 2
			{
				pic -&gt;blue[l][b] = text-&gt;text_color_rgb[3];
				pic -&gt;red[l][b] = text-&gt;text_color_rgb[1];
				pic -&gt;green[l][b] = text-&gt;text_color_rgb[2];
			}
			else
			{

			}
		}
	}
	delete text;
	return pic;
	delete pic;
}
};
</code></pre>
<p>Picture.h:</p>
<pre><code class="language-cpp">struct picturergb
{
	unsigned int red[640][480];
	unsigned int green[640][480];
	unsigned int blue[640][480];
};
</code></pre>
<p>ach ja, ich weiß, stil und organisation sind nicht so gut, wäre aber trotzdem nett wenn mir jeemand helfen könnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1910166</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910166</guid><dc:creator><![CDATA[jonnybx]]></dc:creator><pubDate>Thu, 10 Jun 2010 16:24:32 GMT</pubDate></item><item><title><![CDATA[Reply to Access violation writing location on Thu, 10 Jun 2010 16:22:12 GMT]]></title><description><![CDATA[<p>Was verwendest Du für einen Debugger?<br />
Ein vernünftiger Debugger zeugt an wo eine Access Violation passiert.</p>
<p>Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1910169</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910169</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Thu, 10 Jun 2010 16:22:12 GMT</pubDate></item><item><title><![CDATA[Reply to Access violation writing location on Thu, 10 Jun 2010 16:25:13 GMT]]></title><description><![CDATA[<p>ich hab vs2010 proffesional, die exeption passier beim zweiten schleifendurchlauf der schleife bei 1, an der position2 in Keyings.h<br />
hier die komplette fehlermeldung: <strong>Unhandled exception at 0x012b1593 in speedtest_001.exe: 0xC0000005: Access violation reading location 0x00d80040.</strong></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1910171</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910171</guid><dc:creator><![CDATA[jonnybx]]></dc:creator><pubDate>Thu, 10 Jun 2010 16:25:13 GMT</pubDate></item><item><title><![CDATA[Reply to Access violation writing location on Thu, 10 Jun 2010 16:34:00 GMT]]></title><description><![CDATA[<p>Sollen wir jetzt für dich debuggen? Der Debugger ist doch nicht so schwer zu bedienen, wo liegt das Problem? Im Zweifelsfall halt mal durchsteppen, dann sieht man meistens schnell wo es hakt.</p>
<blockquote>
<p>ach ja, ich weiß, stil und organisation sind nicht so gut</p>
</blockquote>
<p>Ja, aber OpenMP macht ja die dümmsten Fehler wieder wett <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1910178</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910178</guid><dc:creator><![CDATA[Nukularfüsiker]]></dc:creator><pubDate>Thu, 10 Jun 2010 16:34:00 GMT</pubDate></item><item><title><![CDATA[Reply to Access violation writing location on Thu, 10 Jun 2010 18:25:10 GMT]]></title><description><![CDATA[<p>jonnybx schrieb:</p>
<blockquote>
<p>ach ja, ich weiß, stil und organisation sind nicht so gut</p>
</blockquote>
<p>Abläufe, die sich sehr ähnlich sehen (und wahrscheinlich mit Copy&amp;Paste dupliziert worden sind), schreien ja geradezu danach, in eine Funktion ausgelagert zu werden. Damit könntest du schon einiges übersichtlicher und damit auch wartbarer und weniger fehleranfällig gestalten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1910259</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910259</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 10 Jun 2010 18:25:10 GMT</pubDate></item><item><title><![CDATA[Reply to Access violation writing location on Thu, 10 Jun 2010 18:38:06 GMT]]></title><description><![CDATA[<p>Ich will ja nichts bemängeln aber:</p>
<pre><code class="language-cpp">int key[640][480];

//picturergb* pic = new picturergb;
for(int g=0;g&lt;640;g++)
{
    int b = g;
    for(int h=0;h&lt;480;h++)
    {
        int l = h;
        if(text-&gt;key[l][b] == 1) // position 2

// &gt;&gt; 1. text-&gt;key[h][g] weil h = l und g = b
// &gt;&gt; 2. text-&gt;key[479][639] weil h geht bis 479 und g geht bis 639

// &gt;&gt; int key[640][480]; &lt;&lt; das ist deine Definition
</code></pre>
<p>Fällt dir was auf? <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/1910269</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910269</guid><dc:creator><![CDATA[BasicMan01]]></dc:creator><pubDate>Thu, 10 Jun 2010 18:38:06 GMT</pubDate></item><item><title><![CDATA[Reply to Access violation writing location on Thu, 10 Jun 2010 20:03:07 GMT]]></title><description><![CDATA[<p>jo, kleiner leichtsinnsfehler am rande xD<br />
ach ja, <strong>ich hab das problem gelöst</strong></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1910322</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910322</guid><dc:creator><![CDATA[jonnybx]]></dc:creator><pubDate>Thu, 10 Jun 2010 20:03:07 GMT</pubDate></item></channel></rss>