<?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[Konstuktor initialiert Werte falsch?]]></title><description><![CDATA[<p>Hallo leute,</p>
<p>ich komme aus der Java-ecke und wollte mal wieder seit langem in C++ programmieren.<br />
Und schon kommen die ersten Probleme die ich nicht verstehe und zu denen ich auch nix im Internet finde <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
<p>Mein Problem: Ich will einfach nur einen Konstuktor einer Membervariablen aufrufen um diese zu initialisieren...</p>
<p>Hier die Codeausschnitte:</p>
<pre><code class="language-cpp">//Framework.hpp
//
#ifndef FRAMEWORK_HPP
#define FRAMEWORK_HPP

#include &quot;Singleton.hpp&quot;
#include &quot;Resolution.hpp&quot;

#define g_pFramework CFramework::Get()

class CFramework : public TSingleton&lt;CFramework&gt;
{
  public:

	  CFramework() {};

	bool		Init	(std::string Titel, int ScreenWidth, int ScreenHeight,
						int ColorDepth, bool bFullscreen);

  private:

        // Variablen
        //
	CResolution			actResolution;

	// Final
	//
	static const CResolution maxResolution;

};

#endif
</code></pre>
<pre><code class="language-cpp">// Framework.cpp
//

#include &quot;Framework.hpp&quot;

const CResolution CFramework::maxResolution = CResolution(2048,1536);

//Init
//
// Aufgabe: Framework initialisieren
bool CFramework::Init (std::string Titel, int ScreenWidth, int ScreenHeight, int ColorDepth, bool bFullscreen)
{

	actResolution = CResolution(ScreenWidth, ScreenHeight);

	if (bFullscreen)
		window.Create(sf::VideoMode(actResolution.getWidth(), actResolution.getHight(), ColorDepth), Titel, sf::Style::Fullscreen);
	else
		window.Create(sf::VideoMode(actResolution.getWidth(), actResolution.getHight(), ColorDepth), Titel);
}
</code></pre>
<pre><code class="language-cpp">// Resolution.hpp
//

#ifndef RESOLUTION_HPP
#define RESOLUTION_HPP

class CResolution
{
public:
	CResolution() {};
	CResolution(int width, int hight) : width(width),hight(hight) {};

	// getMethoden
	//
	int getWidth()const	{return width;};
	int	getHight()const	{return hight;};

private:

	int width;
	int hight;

};

#endif
</code></pre>
<p>Die Werte in der FramworkInit() Methode für ScreenWidth und ScreenHight sind 1024 und 768.<br />
Nachdem ich sie durch den Konstruktor laufen lasse hat actResolution die Werte 1024 und -1163005939 und ScreenWidth 768 und ScreenHight auch 768.</p>
<p>Hää? <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="😞"
    /> <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="😞"
    /> <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>
<p>Danke für eure Erklärungen!<br />
Niko</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/298445/konstuktor-initialiert-werte-falsch</link><generator>RSS for Node</generator><lastBuildDate>Thu, 13 Aug 2026 18:54:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/298445.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 20 Jan 2012 08:46:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Konstuktor initialiert Werte falsch? on Fri, 20 Jan 2012 08:46:24 GMT]]></title><description><![CDATA[<p>Hallo leute,</p>
<p>ich komme aus der Java-ecke und wollte mal wieder seit langem in C++ programmieren.<br />
Und schon kommen die ersten Probleme die ich nicht verstehe und zu denen ich auch nix im Internet finde <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
<p>Mein Problem: Ich will einfach nur einen Konstuktor einer Membervariablen aufrufen um diese zu initialisieren...</p>
<p>Hier die Codeausschnitte:</p>
<pre><code class="language-cpp">//Framework.hpp
//
#ifndef FRAMEWORK_HPP
#define FRAMEWORK_HPP

#include &quot;Singleton.hpp&quot;
#include &quot;Resolution.hpp&quot;

#define g_pFramework CFramework::Get()

class CFramework : public TSingleton&lt;CFramework&gt;
{
  public:

	  CFramework() {};

	bool		Init	(std::string Titel, int ScreenWidth, int ScreenHeight,
						int ColorDepth, bool bFullscreen);

  private:

        // Variablen
        //
	CResolution			actResolution;

	// Final
	//
	static const CResolution maxResolution;

};

#endif
</code></pre>
<pre><code class="language-cpp">// Framework.cpp
//

#include &quot;Framework.hpp&quot;

const CResolution CFramework::maxResolution = CResolution(2048,1536);

//Init
//
// Aufgabe: Framework initialisieren
bool CFramework::Init (std::string Titel, int ScreenWidth, int ScreenHeight, int ColorDepth, bool bFullscreen)
{

	actResolution = CResolution(ScreenWidth, ScreenHeight);

	if (bFullscreen)
		window.Create(sf::VideoMode(actResolution.getWidth(), actResolution.getHight(), ColorDepth), Titel, sf::Style::Fullscreen);
	else
		window.Create(sf::VideoMode(actResolution.getWidth(), actResolution.getHight(), ColorDepth), Titel);
}
</code></pre>
<pre><code class="language-cpp">// Resolution.hpp
//

#ifndef RESOLUTION_HPP
#define RESOLUTION_HPP

class CResolution
{
public:
	CResolution() {};
	CResolution(int width, int hight) : width(width),hight(hight) {};

	// getMethoden
	//
	int getWidth()const	{return width;};
	int	getHight()const	{return hight;};

private:

	int width;
	int hight;

};

#endif
</code></pre>
<p>Die Werte in der FramworkInit() Methode für ScreenWidth und ScreenHight sind 1024 und 768.<br />
Nachdem ich sie durch den Konstruktor laufen lasse hat actResolution die Werte 1024 und -1163005939 und ScreenWidth 768 und ScreenHight auch 768.</p>
<p>Hää? <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="😞"
    /> <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="😞"
    /> <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>
<p>Danke für eure Erklärungen!<br />
Niko</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2170356</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2170356</guid><dc:creator><![CDATA[greece57]]></dc:creator><pubDate>Fri, 20 Jan 2012 08:46:24 GMT</pubDate></item><item><title><![CDATA[Reply to Konstuktor initialiert Werte falsch? on Fri, 20 Jan 2012 09:16:46 GMT]]></title><description><![CDATA[<p>Die Parameter haben denselben Namen, wie die entsprechenden Membervariablen. Ändere mal die Parameternamen...</p>
<p>Felix</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2170367</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2170367</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Fri, 20 Jan 2012 09:16:46 GMT</pubDate></item><item><title><![CDATA[Reply to Konstuktor initialiert Werte falsch? on Fri, 20 Jan 2012 09:24:12 GMT]]></title><description><![CDATA[<p>Die Namen sind nicht das Problem.</p>
<p>greece57 schrieb:</p>
<blockquote>
<p>Nachdem ich sie durch den Konstruktor laufen lasse hat actResolution die Werte 1024 und -1163005939 und ScreenWidth 768 und ScreenHight auch 768.</p>
</blockquote>
<p>-1163005939 = BAADF00D</p>
<p>Du zerschießt dir vermutlich irgendwo vorher den Speicher, wahrscheinlich durch uninitialisierte Variablen oder Array-Bereichsüberschreitungen. Das erzeugt in C++ im Gegensatz zu Java nicht sofort einen Laufzeitfehler, sondern kann zu ganz merkwürdigem Verhalten irgendwann später führen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2170370</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2170370</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 20 Jan 2012 09:24:12 GMT</pubDate></item><item><title><![CDATA[Reply to Konstuktor initialiert Werte falsch? on Fri, 20 Jan 2012 12:21:18 GMT]]></title><description><![CDATA[<p>Ich rufe jetzt im Frameworkkonstruktor die Konstruktoren aller Membervariablen auf.<br />
Sieht dann so aus:</p>
<pre><code class="language-cpp">CFramework::CFramework()
{
	frametext = CText();
	actResolution = CResolution();

}
</code></pre>
<p>Jetzt sind die Werte für actResolution für width 1244880 und für hight 4019872.<br />
Nachdem ich jetzt die InitMethode aufrufe und die Zeile</p>
<pre><code class="language-cpp">actResolution = CResolution(ScreenWidth, ScreenHeight);
</code></pre>
<p>durchgelaufen ist hat actResolution die Werte width 1024 und hight immernoch 4019872 <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>ich checks nicht <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="😞"
    /><br />
Wieso erkennt er mir den hightwert nicht an <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
Und wieso verändert er plötzlich den Wert von ScreenWidth auf ScreenHight <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<p>P.S.: Namensänderung hat wie erwartet nix gebracht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2170434</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2170434</guid><dc:creator><![CDATA[greece57]]></dc:creator><pubDate>Fri, 20 Jan 2012 12:21:18 GMT</pubDate></item><item><title><![CDATA[Reply to Konstuktor initialiert Werte falsch? on Fri, 20 Jan 2012 12:22:50 GMT]]></title><description><![CDATA[<p>greece57 schrieb:</p>
<blockquote>
<p>Ich rufe jetzt im Frameworkkonstruktor die Konstruktoren aller Membervariablen auf.</p>
</blockquote>
<p>Tust du nicht. Du lässt den Compiler die Default-Initialisierung generieren und rufst hinterher Zuweisungsoperatoren auf. Schau mal im Netz nach dem Stichwort &quot;Initialisierungsliste&quot;.</p>
<p>Um deine Probleme analysieren zu könen bräuchten wir ein komplettes, compilierbares, aber aufs Wesentliche reduziertes Code-Beispiel, mit dem sich die Probleme nachstellen lassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2170440</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2170440</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Fri, 20 Jan 2012 12:22:50 GMT</pubDate></item><item><title><![CDATA[Reply to Konstuktor initialiert Werte falsch? on Fri, 20 Jan 2012 12:39:12 GMT]]></title><description><![CDATA[<p>So das hab ich jetzt getan... Jetzt funktionierts xD</p>
<p>Aber ich will ja nicht das aufs mindeste reduzierte Projekt kombilieren sondern das andere^^</p>
<p>Aber was mir aufgefallen ist, ist das ich im Debugmodus beim neuen reduzierten Projekt in den Konstruktor von CResolution reinspringe. Im gesamten Projekt tu ich das nicht o.O<br />
Wenn ich n haltepunkt im gesamten PRjekt in den Konstruktor lege macht er diesen unsichtbar und sagt</p>
<pre><code>Der Haltepunkt wird mom nicht erreicht. Mit dieser Zeile ist kein ausführbarer Code verbunden.
Mögliche Ursachen: Präprozessordirektiven oder Compiler/-Linkeroptimierung
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2170456</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2170456</guid><dc:creator><![CDATA[greece57]]></dc:creator><pubDate>Fri, 20 Jan 2012 12:39:12 GMT</pubDate></item><item><title><![CDATA[Reply to Konstuktor initialiert Werte falsch? on Fri, 20 Jan 2012 12:49:18 GMT]]></title><description><![CDATA[<p>greece57 schrieb:</p>
<blockquote>
<p>So das hab ich jetzt getan... Jetzt funktionierts xD</p>
</blockquote>
<p>Dann hast du es zu weit reduziert.</p>
<p>pumuckl schrieb:</p>
<blockquote>
<p>Um deine Probleme analysieren zu könen bräuchten wir ein komplettes, compilierbares, aber aufs Wesentliche reduziertes Code-Beispiel, <strong>mit dem sich die Probleme nachstellen lassen.</strong></p>
</blockquote>
<p>Nimm schrittweise Teile aus deinem Code, von denen du glaubst, dass sie mit dem Problem nichts zu tun haben, und geh danach jedesmal sicher, dass das Problem auch weiterhin existiert.</p>
<blockquote>
<p>Wenn ich n haltepunkt im gesamten PRjekt in den Konstruktor lege macht er diesen unsichtbar und sagt</p>
<pre><code>Der Haltepunkt wird mom nicht erreicht. Mit dieser Zeile ist kein ausführbarer Code verbunden.
Mögliche Ursachen: Präprozessordirektiven oder Compiler/-Linkeroptimierung
</code></pre>
</blockquote>
<p>Das bedeutet, dass der Konstruktor nicht ausgeführt wird. Mögliche Ursachen sind:<br />
a) Du hast den Code, in dem du den Breakpoint setzt, nicht compiliert (&quot;Kombilieren&quot; gibts nicht), d.h. der Code, der beim Debuggen läuft, ist ein anderer als der, den du in der IDE offen hast.<br />
b) Du hast beim Übersetzen Optimizer-Flags gesetzt, so dass der Ctor wegoptimiert wurde.<br />
c) Du hast den Code ohne Debuginformationen übersetzen lassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2170462</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2170462</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Fri, 20 Jan 2012 12:49:18 GMT</pubDate></item><item><title><![CDATA[Reply to Konstuktor initialiert Werte falsch? on Fri, 20 Jan 2012 12:54:31 GMT]]></title><description><![CDATA[<p>Es lag an c <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /> Sobald ich mit Debuginformationen übersetzen lasse kriege ich eine &quot;Zugriffsverletzung beim Lesen an Position 0xcccccccc.&quot; (Hatte ich aber vergessen - liegt an SFML aber ich dachte ich schalt auf Release um und kümmer mich einfach nicht weiter um das problem^^)</p>
<p>Heißt das mein Code funktioniert EIGENTLICH im releasemodus aber sobald ich ihn das ganze Debuggen lasse macht er einfach irgendwas?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2170468</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2170468</guid><dc:creator><![CDATA[greece57]]></dc:creator><pubDate>Fri, 20 Jan 2012 12:54:31 GMT</pubDate></item><item><title><![CDATA[Reply to Konstuktor initialiert Werte falsch? on Fri, 20 Jan 2012 13:06:36 GMT]]></title><description><![CDATA[<p>greece57 schrieb:</p>
<blockquote>
<p>Es lag an c <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
</blockquote>
<p>Nein, es liegt an deinem Code.</p>
<p>Irgendwo in deinem Code steckt (mindestens) ein Fehler, der undefiniertes Verhalten erzeugt. Der Fehler steckt auch selten da, wo er sich bemerkbar macht. Du musst deinen gesamten Code daraufhin prüfen. Und das geht am besten, indem du, wie pumuckl schon sagte, nach und nach Teile entfernst, bis das Problem nicht mehr auftritt.</p>
<p>Das kleinstmögliche Programm, das den Fehler noch zeigt, kannst du dann hier einstellen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2170474</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2170474</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 20 Jan 2012 13:06:36 GMT</pubDate></item><item><title><![CDATA[Reply to Konstuktor initialiert Werte falsch? on Fri, 20 Jan 2012 13:41:31 GMT]]></title><description><![CDATA[<p>Der Fehler tritt aber nicht auf wenn ich das Programm im Releasemodus laufen lasse o.O<br />
Wenn ichs dann die werte per std::cout ausgebe, dann stimmen die <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>PS du weißt dass ich mit &quot;es liegt an c&quot; meinte dass es an seiner antwortmöglichkeit c) liegt, oder? <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="😉"
    /> Also nicht dass du denkst, ich denke es liegt an der Programmiersprache <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/2170492</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2170492</guid><dc:creator><![CDATA[greece57]]></dc:creator><pubDate>Fri, 20 Jan 2012 13:41:31 GMT</pubDate></item><item><title><![CDATA[Reply to Konstuktor initialiert Werte falsch? on Fri, 20 Jan 2012 13:40:06 GMT]]></title><description><![CDATA[<p>greece57 schrieb:</p>
<blockquote>
<p>Der Fehler tritt aber nicht auf wenn ich das Programm im Releasemodus laufen lasse o.O<br />
Wenn ichs dann die werte per std::cout ausgebe, dann stimmen die <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>nun, das Verhalten von undefiniertem Verhalten ist und bleibt undefiniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2170493</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2170493</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Fri, 20 Jan 2012 13:40:06 GMT</pubDate></item><item><title><![CDATA[Reply to Konstuktor initialiert Werte falsch? on Fri, 20 Jan 2012 13:58:51 GMT]]></title><description><![CDATA[<p>greece57 schrieb:</p>
<blockquote>
<p>Der Fehler tritt aber nicht auf wenn ich das Programm im Releasemodus laufen lasse o.O</p>
</blockquote>
<p>Ja, das ist das Schöne an undefiniertem Verhalten: Es ist <strong>undefiniert</strong>. Es kann also auch funktionieren. Aber es kann eben auch sein, dass du eine Programmzeile hinzufügst, und es knallt, auch im Release.</p>
<p>Der Fehler ist damit nicht weg.</p>
<p>CCCCCCCC weist übrigens auf uninitialisierten Stackspeicher hin. Möglicherweise legst du einen Zeiger auf dem Stack an und greifst darauf zu, ohne den Zeiger auf ein Objekt zeigen zu lassen. Im Debug-Modus wird der Stackspeicher mit CC gefüllt, und es gibt einen mehr oder weniger wohldefinierten Absturz. Im Release-Modus zeigt dein Zeiger irgendwo in den Speicher, und was dann passiert, ist eben Zufall.</p>
<p>Schau dir die Stelle genau an, wo's im Debug knallt. Da ist dein Problem.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2170504</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2170504</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 20 Jan 2012 13:58:51 GMT</pubDate></item><item><title><![CDATA[Reply to Konstuktor initialiert Werte falsch? on Fri, 20 Jan 2012 17:53:14 GMT]]></title><description><![CDATA[<p>Die Stelle wo's im Debug knallt existiert nicht - und wie du richtig bemerkt hast liegt da mein Problem.<br />
Im Releasemodus hingegen existiert sie - und aus dem Grund funktionierts auch.</p>
<p>Die Funktion tut das was sie soll, und sieht auch so aus, dass es Sinn gibt also wieso sollte sie einen Fehler beinhalten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2170598</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2170598</guid><dc:creator><![CDATA[greece57]]></dc:creator><pubDate>Fri, 20 Jan 2012 17:53:14 GMT</pubDate></item><item><title><![CDATA[Reply to Konstuktor initialiert Werte falsch? on Fri, 20 Jan 2012 18:56:27 GMT]]></title><description><![CDATA[<p>Wenn es eine Compilerkonfiguration gibt, in der eine Funktion fehlerhaftes Verhalten produziert, ist sie fehlerhaft. Diese Sichtweise solltest du dir schnellstmöglich angewöhnen, sonst bringst du es höchstens zum Webdesigner.</p>
<p>Undefinierter Speicher im Zusammenhang mit der Verwendung eines Singletons -- es ist ohne Codebeispiel, das den Fehler reproduziert (hint, hint) natürlich unmöglich, den Fehler mit Bestimmtheit zu finden, aber ich rate jetzt mal wild:</p>
<p>Passiert dieser ganze Kram, bevor main betreten wird? In diesem Fall könnte es sein, dass du dir ein static initialisation order fiasco gebaut hast. Das läuft dann so:</p>
<p>Globales Objekt A benötigt zur Initialisation globales Objekt B. Globales Objekt B ist zu diesem Zeitpunkt aber noch nicht initialisiert, also macht die Initialisierung des globalen Objektes A Unfug.</p>
<p>Da die Reihenfolge, in der globale Objekte initialisiert werden, nicht bis ins kleinste Detail geregelt ist, können sich verschiedene Compilerkonfigurationen hier voneinander unterscheiden - womöglich wird in der Debug-Version zunächst Objekt B, in der Release-Version aber Objekt A zuerst gebaut. Das kann dann passieren, wenn Objekte A und B sich in verschiedenen Übersetzungseinheiten befinden, sonst garantiert der Standard die Abarbeitung von oben nach unten.</p>
<p>Man muss hier natürlich peinlich auf die Vermeidung von Zirkelbezügen achten, ansonsten lässt sich das ganze Problem umgehen, indem man das Objekt in eine Funktion verpackt:</p>
<pre><code class="language-cpp">// Statt
//
// singleton instance;
//
// ...
//
// instance.do_something();

singleton &amp;instance() {
  static singleton self;
  return self;
}

...

instance().do_something();
</code></pre>
<p>Allerdings muss man auch hier etwas aufpassen: Die Zerstörungsreihenfolge ist ähnlich komplex vorhersagbar. Es ist mitunter problematisch, wenn globale Objekte sich gegenseitig in ihren Destruktoren benutzen.</p>
<p>Dies ist natürlich nur einer der Gründe, warum Singletons eine Anti-Pattern sind. Gibt es irgendeinen wirklichen Grund, das ganze als Singleton zu behandeln anstatt als normale Klasse?</p>
<p>Übrigens, nur am Rande: Das englische Wort für Höhe ist &quot;height&quot;, nicht &quot;hight&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2170620</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2170620</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Fri, 20 Jan 2012 18:56:27 GMT</pubDate></item><item><title><![CDATA[Reply to Konstuktor initialiert Werte falsch? on Sun, 22 Jan 2012 12:05:21 GMT]]></title><description><![CDATA[<p>Hatte die letzten 2 Tage kein Internet -.-</p>
<p>Aber ich entdeck echt nix und wüsste auch nicht wie weit ich den code kürzen müsste damits nachstellbar ist<br />
Ich hab hier jetzt mal das ganze Projekt hochgeladen (Compiler: Microsoft Visual C++ 2010 Express):<br />
<a href="https://rapidshare.com/files/1087224170/Coingame.zip" rel="nofollow">https://rapidshare.com/files/1087224170/Coingame.zip</a></p>
<p>Um es zu compilieren musst du dir noch die SFML 1.6 laden und in C:/ abspeichern:<br />
<a href="http://sfml-dev.org/download.php" rel="nofollow">http://sfml-dev.org/download.php</a></p>
<p>Vielleicht verstehst dus ja <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2171066</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2171066</guid><dc:creator><![CDATA[greece57]]></dc:creator><pubDate>Sun, 22 Jan 2012 12:05:21 GMT</pubDate></item><item><title><![CDATA[Reply to Konstuktor initialiert Werte falsch? on Mon, 23 Jan 2012 08:08:23 GMT]]></title><description><![CDATA[<p>SMFL 1.6 finde ich nur für VS2005 und VS2008.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2171300</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2171300</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Mon, 23 Jan 2012 08:08:23 GMT</pubDate></item><item><title><![CDATA[Reply to Konstuktor initialiert Werte falsch? on Mon, 23 Jan 2012 08:23:31 GMT]]></title><description><![CDATA[<p>seldon schrieb:</p>
<blockquote>
<p>[...] Codebeispiel, das den Fehler reproduziert (hint, hint) [...]</p>
</blockquote>
<p>Ich darf das um &quot;minimales&quot; ergänzen? <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/2171305</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2171305</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Mon, 23 Jan 2012 08:23:31 GMT</pubDate></item><item><title><![CDATA[Reply to Konstuktor initialiert Werte falsch? on Mon, 23 Jan 2012 10:18:25 GMT]]></title><description><![CDATA[<p>Also bei mir funktionierts mit der 1.6 für 2008.<br />
Glaubst du daran könnt's liegen dass der Debugmodus nicht läuft?</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/8250">@Swordfish</a>: Wie gesagt ich weiß nicht wie viel ihr braucht um das ganze nachzustellen weil ich nicht genau weiß wo der Fehler auftritt.<br />
Ich fand die Losung jetzt ganz elegant weil ihr ja trotzdem mit 3 Klicks alles nachstellen könnt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2171349</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2171349</guid><dc:creator><![CDATA[greece57]]></dc:creator><pubDate>Mon, 23 Jan 2012 10:18:25 GMT</pubDate></item><item><title><![CDATA[Reply to Konstuktor initialiert Werte falsch? on Mon, 23 Jan 2012 11:23:09 GMT]]></title><description><![CDATA[<p>greece57 schrieb:</p>
<blockquote>
<p>Also bei mir funktionierts mit der 1.6 für 2008.</p>
</blockquote>
<p>Absturz bei Debug und falsche Werte bei Release nennst du &quot;funktionieren&quot;?</p>
<p>greece57 schrieb:</p>
<blockquote>
<p>Glaubst du daran könnt's liegen dass der Debugmodus nicht läuft?</p>
</blockquote>
<p>Ja.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2171382</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2171382</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Mon, 23 Jan 2012 11:23:09 GMT</pubDate></item><item><title><![CDATA[Reply to Konstuktor initialiert Werte falsch? on Mon, 23 Jan 2012 14:06:37 GMT]]></title><description><![CDATA[<p>greece57 schrieb:</p>
<blockquote>
<p>Wie gesagt ich weiß nicht wie viel ihr braucht um das ganze nachzustellen [...]</p>
</blockquote>
<p><strong>DU</strong> sollst es soweit wie möglich kürzen daß bei minimaler Codemenge der Fehler reproduzierbar bleibt. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2171453</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2171453</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Mon, 23 Jan 2012 14:06:37 GMT</pubDate></item><item><title><![CDATA[Reply to Konstuktor initialiert Werte falsch? on Mon, 23 Jan 2012 14:18:09 GMT]]></title><description><![CDATA[<p>Absturz in Debug reproduzierbar mit</p>
<pre><code class="language-cpp">#include &quot;SFML/Graphics.hpp&quot;

int main()
{
	sf::String  sftext;
}
</code></pre>
<p>Ziemlich sicher, dass es an der falschen Version von SFML liegt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2171461</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2171461</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Mon, 23 Jan 2012 14:18:09 GMT</pubDate></item><item><title><![CDATA[Reply to Konstuktor initialiert Werte falsch? on Mon, 23 Jan 2012 14:39:03 GMT]]></title><description><![CDATA[<p>Projekteigenschaften -&gt; Konfigurationseigenschaften -&gt; Allgemein -&gt; Plattformtoolset -&gt; v90 einstellen, dann benutzt der im Backend den 2008er-Compiler, und es müsste mit Bibliotheken für vc2008 funktionieren.</p>
<p>Die in VC2010 neuen Features gibt es dann allerdings natürlich nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2171469</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2171469</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Mon, 23 Jan 2012 14:39:03 GMT</pubDate></item><item><title><![CDATA[Reply to Konstuktor initialiert Werte falsch? on Mon, 23 Jan 2012 14:51:08 GMT]]></title><description><![CDATA[<p>Einfach die neueste Version selbst kompilieren, da sind VS Projekte bei, das ist wirklich nicht schwer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2171476</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2171476</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Mon, 23 Jan 2012 14:51:08 GMT</pubDate></item><item><title><![CDATA[Reply to Konstuktor initialiert Werte falsch? on Tue, 24 Jan 2012 07:51:52 GMT]]></title><description><![CDATA[<p>Ok dh ich habe einfach nur die falsche sfml Version benutzt und deswegen is dieser koomische &quot;Fehler&quot; aufgetretten?<br />
Gut dann danke an alle! Werde es mit dem selbst kompilieren versuchen <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/2171749</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2171749</guid><dc:creator><![CDATA[greece57]]></dc:creator><pubDate>Tue, 24 Jan 2012 07:51:52 GMT</pubDate></item></channel></rss>