<?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[Accessviolation im Constructor]]></title><description><![CDATA[<p>Ich hab eine Klasse bei der im Constructor bei der ersten Zuweisung eine Accessviolation kommt. Hier mal der Aufruf:</p>
<pre><code class="language-cpp">TUIManager uimanager; 
[...]
</code></pre>
<p>Und hier der Header der Klasse:</p>
<pre><code class="language-cpp">class TUIManager
{ //Manager for the OpenGL-SDL-userinterface
  private: 

    vector&lt;TglObject*&gt; FormTable; 	//stores pointers to the forms
    vector&lt;int&gt; FormList;			//stores the IDs of the forms. Order of the forms in list depands on last activity.
    TglComponent* activeComponent;	//points to the active component
    TglComponent* lastEntered;		//points to the component which was recently entered by the mouse.

    bool active;					//stores if the GUI is activated or not.

    [...]

  public:
    // Constructor
    TUIManager();

    // Destructor
    ~TUIManager();

    [...]
};
</code></pre>
<p>und der Constructor sieht so aus:</p>
<pre><code class="language-cpp">// Constructor
TUIManager::TUIManager()
{	
	active			= true;		//GUI is initialy active.
	activeComponent	= NULL;		//At startup there exists no component
	lastEntered		= NULL;		//The mouse hasn't entered a component yet
	FormTable[0] 	= NULL; 	//Form Nr.0 is reserved for the UIManager itself.
}
</code></pre>
<p>Bei active = true; kommt ein Fehler... ich hab auch schon die Reihenfolge vertauscht, es kommt immer bei der ersten Zuweisung im Konstruktor der Fehler... Woran liegt das?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/121783/accessviolation-im-constructor</link><generator>RSS for Node</generator><lastBuildDate>Sat, 22 Aug 2026 20:50:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/121783.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 27 Sep 2005 12:13:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Accessviolation im Constructor on Tue, 27 Sep 2005 12:13:06 GMT]]></title><description><![CDATA[<p>Ich hab eine Klasse bei der im Constructor bei der ersten Zuweisung eine Accessviolation kommt. Hier mal der Aufruf:</p>
<pre><code class="language-cpp">TUIManager uimanager; 
[...]
</code></pre>
<p>Und hier der Header der Klasse:</p>
<pre><code class="language-cpp">class TUIManager
{ //Manager for the OpenGL-SDL-userinterface
  private: 

    vector&lt;TglObject*&gt; FormTable; 	//stores pointers to the forms
    vector&lt;int&gt; FormList;			//stores the IDs of the forms. Order of the forms in list depands on last activity.
    TglComponent* activeComponent;	//points to the active component
    TglComponent* lastEntered;		//points to the component which was recently entered by the mouse.

    bool active;					//stores if the GUI is activated or not.

    [...]

  public:
    // Constructor
    TUIManager();

    // Destructor
    ~TUIManager();

    [...]
};
</code></pre>
<p>und der Constructor sieht so aus:</p>
<pre><code class="language-cpp">// Constructor
TUIManager::TUIManager()
{	
	active			= true;		//GUI is initialy active.
	activeComponent	= NULL;		//At startup there exists no component
	lastEntered		= NULL;		//The mouse hasn't entered a component yet
	FormTable[0] 	= NULL; 	//Form Nr.0 is reserved for the UIManager itself.
}
</code></pre>
<p>Bei active = true; kommt ein Fehler... ich hab auch schon die Reihenfolge vertauscht, es kommt immer bei der ersten Zuweisung im Konstruktor der Fehler... Woran liegt das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/881250</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/881250</guid><dc:creator><![CDATA[KFlash]]></dc:creator><pubDate>Tue, 27 Sep 2005 12:13:06 GMT</pubDate></item><item><title><![CDATA[Reply to Accessviolation im Constructor on Tue, 27 Sep 2005 12:17:18 GMT]]></title><description><![CDATA[<p>statt</p>
<p>FormTable[0] = NULL;</p>
<p>nimmst du</p>
<p>FormTable.push_back(NULL);</p>
]]></description><link>https://www.c-plusplus.net/forum/post/881253</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/881253</guid><dc:creator><![CDATA[................]]></dc:creator><pubDate>Tue, 27 Sep 2005 12:17:18 GMT</pubDate></item><item><title><![CDATA[Reply to Accessviolation im Constructor on Tue, 27 Sep 2005 12:51:15 GMT]]></title><description><![CDATA[<p>Aber Formtable ist doch ein Vector. Und auf Vectoren kann man Wahlfrei zugreifen. Außerdem kommt der Fehler bei der ersten Zuweisung. Das mit dem Formtable ist ja wie man sieht die letzte. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/881282</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/881282</guid><dc:creator><![CDATA[KFlash]]></dc:creator><pubDate>Tue, 27 Sep 2005 12:51:15 GMT</pubDate></item><item><title><![CDATA[Reply to Accessviolation im Constructor on Tue, 27 Sep 2005 12:58:19 GMT]]></title><description><![CDATA[<p>man kann aber nicht auf uninitialisierten speicher zugreifen. es gibt gar kein element 0, wenn du nicht mindestens einmal push_back aufrufst.</p>
<p>der fehler liegt bestimmt an anderer stelle. kannst du ein minimalbeispiel erstellen das den fehler zeigt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/881288</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/881288</guid><dc:creator><![CDATA[................]]></dc:creator><pubDate>Tue, 27 Sep 2005 12:58:19 GMT</pubDate></item><item><title><![CDATA[Reply to Accessviolation im Constructor on Tue, 27 Sep 2005 13:00:51 GMT]]></title><description><![CDATA[<p>KFlash schrieb:</p>
<blockquote>
<p>Aber Formtable ist doch ein Vector. Und auf Vectoren kann man Wahlfrei zugreifen.</p>
</blockquote>
<p>Nur wenn das Element schon existiert. Also push_back verwenden.<br />
Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/881290</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/881290</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Tue, 27 Sep 2005 13:00:51 GMT</pubDate></item><item><title><![CDATA[Reply to Accessviolation im Constructor on Tue, 27 Sep 2005 13:05:35 GMT]]></title><description><![CDATA[<p>Ahh...hast recht...hab gerade nochmal die STL Doku angeguckt. Bei Java gabs nen Vector der immer gleich 10 Elemente vorinitialisiert hatte....Naja...leer isses besser.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/881297</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/881297</guid><dc:creator><![CDATA[KFlash]]></dc:creator><pubDate>Tue, 27 Sep 2005 13:05:35 GMT</pubDate></item><item><title><![CDATA[Reply to Accessviolation im Constructor on Tue, 27 Sep 2005 13:10:58 GMT]]></title><description><![CDATA[<p>Strange...Auf alle Fälle hat die Änderung das Problem behoben....versteh ich zwar nicht, aber ich bin Glücklich...</p>
<p>Ich dachte immer Programme werden von Oben Nach unten abgearbeitet (Außer so sachen vie VHDL) <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="🙄"
    /> Werde wohl im Rahmen meiner C++ Tätigkeit noch mehr mysterien für mich entdecken ... <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>
]]></description><link>https://www.c-plusplus.net/forum/post/881304</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/881304</guid><dc:creator><![CDATA[KFlash]]></dc:creator><pubDate>Tue, 27 Sep 2005 13:10:58 GMT</pubDate></item><item><title><![CDATA[Reply to Accessviolation im Constructor on Tue, 27 Sep 2005 13:15:34 GMT]]></title><description><![CDATA[<p>KFlash schrieb:</p>
<blockquote>
<p>Ahh...hast recht...hab gerade nochmal die STL Doku angeguckt. Bei Java gabs nen Vector der immer gleich 10 Elemente vorinitialisiert hatte....Naja...leer isses besser.</p>
</blockquote>
<p>Geht auch in c++</p>
<pre><code class="language-cpp">vector&lt;TglObject*&gt; FormTable(10);     //stores pointers to the forms
</code></pre>
<p>Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/881310</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/881310</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Tue, 27 Sep 2005 13:15:34 GMT</pubDate></item><item><title><![CDATA[Reply to Accessviolation im Constructor on Tue, 27 Sep 2005 13:17:45 GMT]]></title><description><![CDATA[<p>KFlash schrieb:</p>
<blockquote>
<p>Strange...Auf alle Fälle hat die Änderung das Problem behoben....versteh ich zwar nicht, aber ich bin Glücklich...</p>
<p>Ich dachte immer Programme werden von Oben Nach unten abgearbeitet (Außer so sachen vie VHDL) <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="🙄"
    /> Werde wohl im Rahmen meiner C++ Tätigkeit noch mehr mysterien für mich entdecken ... <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>
</blockquote>
<p>Ich verstehe DICH nicht.<br />
Du hast nen Variable vom Typ Vektor. Dieser Vektor ist nach Erzeugung<br />
mittels <strong>Standardkonstruktor</strong> leer, so wie der gesunde Menschen verstand<br />
auch vermuten lässt. Beim Zugriff auf das nicht existierende erste Element<br />
krachts. Das ist ja wohl das natürlichste von der Welt. <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="😃"
    /> <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="🙄"
    /> <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>
<p>Wenn ich andererseits einen Vektor &quot;erzeuge&quot; und da stehn, ohne mein Zutun,<br />
irgendwelche Daten drin würde ICH mich ziemlich wundern. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/881314</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/881314</guid><dc:creator><![CDATA[Redhead]]></dc:creator><pubDate>Tue, 27 Sep 2005 13:17:45 GMT</pubDate></item><item><title><![CDATA[Reply to Accessviolation im Constructor on Tue, 27 Sep 2005 14:03:57 GMT]]></title><description><![CDATA[<p>Stimmt...das wäre normal....Allerdings habe ich NICHT auf die Formlist zugegriffen, sondern auf eine unbeteiligte Membervariable. Guckt euch nochmal den letzten Satz meines ersten Postings an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/881366</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/881366</guid><dc:creator><![CDATA[KFlash]]></dc:creator><pubDate>Tue, 27 Sep 2005 14:03:57 GMT</pubDate></item></channel></rss>