<?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[Zufallszahl | switch case | Variable | Fehler]]></title><description><![CDATA[<p>Hallo,</p>
<p>leider komme ich nicht weiter <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>SINN :<br />
- ich habe Methode zufall(), diese erzeugt Zufallszahlen<br />
- Variable WERT ist als Hilfsvariable da. In diese soll die erzeugte Zufallsvariable der Methode zufall() übergeben werden<br />
- dann sollte in Abhängigkeit von WERT ein case genommen werden oder halt nicht.</p>
<p>in .h</p>
<pre><code class="language-cpp">....
....
....

   // diese Methode erzeugt Zufallszahlen
    int zufall(int WERT);
    // diese Methode ist mein erster Scheduler (Eigenentwicklung)
    void doProbDropTail(int max_burst_size, int *scheduled_packets_size);
....
....
....
</code></pre>
<p>in .cc</p>
<pre><code class="language-cpp">....
....
....
int zufall(int a) {

        int r = 0;

        //  int M = 0;
        srand( (unsigned) time(NULL) ) ;
        for (int i=0; i&lt;10; i++) {
        r = 1 + rand() % 10;

        return (r);
        }
}
....
....
....
void CommonPartSublayerScheduling::handleMessage( cMessage *msg ) {
    int WERT = 0;

	if ( msg-&gt;isSelfMessage() ) {
	}
	else if ( msg-&gt;arrivalGateId() == upperLayerGateIn) {
Ieee80216GenericMacHeader *upper_msg = heck_and_cast&lt;Ieee80216GenericMacHeader*&gt;(msg);
		cPar *mac_entry_time = new cPar();
			mac_entry_time-&gt;setName(&quot;mac_entry_time&quot;);
			mac_entry_time-&gt;setDoubleValue( simTime() );
		upper_msg-&gt;addPar( mac_entry_time );

		IPDatagram *upper_ipd = check_and_cast&lt;IPDatagram*&gt;(upper_msg-&gt;encapsulatedMsg());
		Ieee80216TGControlInformation *ipd_control = check_and_cast&lt;Ieee80216TGControlInformation*&gt;(upper_ipd-&gt;controlInfo());

		if ( scheduler == &quot;FIFO&quot; ) {
			if ( queue_fifo.size() &lt; 3000 )
				queue_fifo.push_back(*upper_msg);
		}

		else if ( scheduler == &quot;PDT&quot; ) {
			switch ( ipd_control-&gt;getTraffic_type() ) {
				case UGS:
					WERT = zufall(WERT);
					if ( 0 &lt; WERT &lt; 100 ) {
					if ( queue_ugs.size() &lt; 250)
						queue_ugs.push_back(*upper_msg);
							      }
					break;

				case RTPS:
					WERT = zufall(WERT);
					if ( 0 &lt; WERT &lt; 100 ) {
					if ( queue_rtps.size() &lt; 500 )
						queue_rtps.push_back(*upper_msg);
							      }
					break;

				case ERTPS:
					int WERT = zufall(WERT);
					if ( 0 &lt; WERT &lt; 60 ) {
					if ( queue_ertps.size() &lt; 500 )
						queue_ertps.push_back(*upper_msg);
							      }
					break;

				case NRTPS:
					int WERT = zufall(WERT);
					if ( 0 &lt; WERT &lt; 40 ) {
					if ( queue_nrtps.size() &lt; 500 )
						queue_nrtps.push_back(*upper_msg);
							      }
					break;

				case BE:
					int WERT = zufall(WERT);
					if ( 0 &lt; WERT &lt; 20 ) {
					if ( queue_be.size() &lt; 500 )
						queue_be.push_back(*upper_msg);
							      }
					break;
			}
            else
			       delete upper_msg;
         delete msg;
		}

	}

	updateDisplay();
}
....
....
....
</code></pre>
<p>natürlich ist es alles nur ein kleiner Fragment der Software.</p>
<p>Aber ich bekomme ständig einen Fehler :</p>
<pre><code class="language-cpp">In member function »virtual void :
Fehler: Sprung zur case-Marke
Fehler:   überschneidet Initialisierung von »int WERT«
139: Fehler: redeclaration of »int WERT«
131: Fehler: »int WERT« previously declared here
146: Fehler: Sprung zur case-Marke
131: Fehler:   überschneidet Initialisierung von »int WERT«
147: Fehler: redeclaration of »int WERT«
131: Fehler: »int WERT« previously declared here
154: Fehler: expected `}' before »else«
163: Fehler: »ipd_control« wurde in diesem Gültigkeitsbereich nicht definiert
166: Fehler: »upper_msg« wurde in diesem Gültigkeitsbereich nicht definiert
171: Fehler: »upper_msg« wurde in diesem Gültigkeitsbereich nicht definiert
176: Fehler: »upper_msg« wurde in diesem Gültigkeitsbereich nicht definiert
181: Fehler: »upper_msg« wurde in diesem Gültigkeitsbereich nicht definiert
186: Fehler: »upper_msg« wurde in diesem Gültigkeitsbereich nicht definiert
191: Fehler: »upper_msg« wurde in diesem Gültigkeitsbereich nicht definiert
At global scope:
197: Fehler: expected constructor, destructor, or type conversion before »;« token
198: Fehler: expected declaration before »}« token
</code></pre>
<p>ich glaube etwas stimmt mit der Variable &quot;WERT&quot; und der Verwendung in der Switch-Anweisung nicht ....</p>
<p>Danke für die Hilfe!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/234142/zufallszahl-switch-case-variable-fehler</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 12:08:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/234142.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 13 Feb 2009 15:42:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zufallszahl | switch case | Variable | Fehler on Fri, 13 Feb 2009 16:00:05 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>leider komme ich nicht weiter <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>SINN :<br />
- ich habe Methode zufall(), diese erzeugt Zufallszahlen<br />
- Variable WERT ist als Hilfsvariable da. In diese soll die erzeugte Zufallsvariable der Methode zufall() übergeben werden<br />
- dann sollte in Abhängigkeit von WERT ein case genommen werden oder halt nicht.</p>
<p>in .h</p>
<pre><code class="language-cpp">....
....
....

   // diese Methode erzeugt Zufallszahlen
    int zufall(int WERT);
    // diese Methode ist mein erster Scheduler (Eigenentwicklung)
    void doProbDropTail(int max_burst_size, int *scheduled_packets_size);
....
....
....
</code></pre>
<p>in .cc</p>
<pre><code class="language-cpp">....
....
....
int zufall(int a) {

        int r = 0;

        //  int M = 0;
        srand( (unsigned) time(NULL) ) ;
        for (int i=0; i&lt;10; i++) {
        r = 1 + rand() % 10;

        return (r);
        }
}
....
....
....
void CommonPartSublayerScheduling::handleMessage( cMessage *msg ) {
    int WERT = 0;

	if ( msg-&gt;isSelfMessage() ) {
	}
	else if ( msg-&gt;arrivalGateId() == upperLayerGateIn) {
Ieee80216GenericMacHeader *upper_msg = heck_and_cast&lt;Ieee80216GenericMacHeader*&gt;(msg);
		cPar *mac_entry_time = new cPar();
			mac_entry_time-&gt;setName(&quot;mac_entry_time&quot;);
			mac_entry_time-&gt;setDoubleValue( simTime() );
		upper_msg-&gt;addPar( mac_entry_time );

		IPDatagram *upper_ipd = check_and_cast&lt;IPDatagram*&gt;(upper_msg-&gt;encapsulatedMsg());
		Ieee80216TGControlInformation *ipd_control = check_and_cast&lt;Ieee80216TGControlInformation*&gt;(upper_ipd-&gt;controlInfo());

		if ( scheduler == &quot;FIFO&quot; ) {
			if ( queue_fifo.size() &lt; 3000 )
				queue_fifo.push_back(*upper_msg);
		}

		else if ( scheduler == &quot;PDT&quot; ) {
			switch ( ipd_control-&gt;getTraffic_type() ) {
				case UGS:
					WERT = zufall(WERT);
					if ( 0 &lt; WERT &lt; 100 ) {
					if ( queue_ugs.size() &lt; 250)
						queue_ugs.push_back(*upper_msg);
							      }
					break;

				case RTPS:
					WERT = zufall(WERT);
					if ( 0 &lt; WERT &lt; 100 ) {
					if ( queue_rtps.size() &lt; 500 )
						queue_rtps.push_back(*upper_msg);
							      }
					break;

				case ERTPS:
					int WERT = zufall(WERT);
					if ( 0 &lt; WERT &lt; 60 ) {
					if ( queue_ertps.size() &lt; 500 )
						queue_ertps.push_back(*upper_msg);
							      }
					break;

				case NRTPS:
					int WERT = zufall(WERT);
					if ( 0 &lt; WERT &lt; 40 ) {
					if ( queue_nrtps.size() &lt; 500 )
						queue_nrtps.push_back(*upper_msg);
							      }
					break;

				case BE:
					int WERT = zufall(WERT);
					if ( 0 &lt; WERT &lt; 20 ) {
					if ( queue_be.size() &lt; 500 )
						queue_be.push_back(*upper_msg);
							      }
					break;
			}
            else
			       delete upper_msg;
         delete msg;
		}

	}

	updateDisplay();
}
....
....
....
</code></pre>
<p>natürlich ist es alles nur ein kleiner Fragment der Software.</p>
<p>Aber ich bekomme ständig einen Fehler :</p>
<pre><code class="language-cpp">In member function »virtual void :
Fehler: Sprung zur case-Marke
Fehler:   überschneidet Initialisierung von »int WERT«
139: Fehler: redeclaration of »int WERT«
131: Fehler: »int WERT« previously declared here
146: Fehler: Sprung zur case-Marke
131: Fehler:   überschneidet Initialisierung von »int WERT«
147: Fehler: redeclaration of »int WERT«
131: Fehler: »int WERT« previously declared here
154: Fehler: expected `}' before »else«
163: Fehler: »ipd_control« wurde in diesem Gültigkeitsbereich nicht definiert
166: Fehler: »upper_msg« wurde in diesem Gültigkeitsbereich nicht definiert
171: Fehler: »upper_msg« wurde in diesem Gültigkeitsbereich nicht definiert
176: Fehler: »upper_msg« wurde in diesem Gültigkeitsbereich nicht definiert
181: Fehler: »upper_msg« wurde in diesem Gültigkeitsbereich nicht definiert
186: Fehler: »upper_msg« wurde in diesem Gültigkeitsbereich nicht definiert
191: Fehler: »upper_msg« wurde in diesem Gültigkeitsbereich nicht definiert
At global scope:
197: Fehler: expected constructor, destructor, or type conversion before »;« token
198: Fehler: expected declaration before »}« token
</code></pre>
<p>ich glaube etwas stimmt mit der Variable &quot;WERT&quot; und der Verwendung in der Switch-Anweisung nicht ....</p>
<p>Danke für die Hilfe!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1663292</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1663292</guid><dc:creator><![CDATA[Michi8080]]></dc:creator><pubDate>Fri, 13 Feb 2009 16:00:05 GMT</pubDate></item><item><title><![CDATA[Reply to Zufallszahl | switch case | Variable | Fehler on Fri, 13 Feb 2009 16:01:25 GMT]]></title><description><![CDATA[<p>Du kannst innerhalb von switch keine Variablen mehrfach definieren. Du kannst aber einen separaten Block dafür öffnen. Aber da du mit Wert sowieso immer das Gleiche machst, kannst du die Deklaration ja vorher vornehmen.</p>
<p>Zudem solltest du <code>srand()</code> genau <strong>einmal</strong> aufrufen, und zwar am Anfang des Programms!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1663301</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1663301</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 13 Feb 2009 16:01:25 GMT</pubDate></item><item><title><![CDATA[Reply to Zufallszahl | switch case | Variable | Fehler on Fri, 13 Feb 2009 17:14:10 GMT]]></title><description><![CDATA[<p>Nochmal als Beispiel:</p>
<pre><code class="language-cpp">switch(x) {
  case 1:
    int i;  //geht nicht
}

switch(x) {
  case 1:
  {
    int i;  //geht
  }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1663347</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1663347</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Fri, 13 Feb 2009 17:14:10 GMT</pubDate></item><item><title><![CDATA[Reply to Zufallszahl | switch case | Variable | Fehler on Fri, 13 Feb 2009 17:18:08 GMT]]></title><description><![CDATA[<p>_matze schrieb:</p>
<blockquote>
<pre><code class="language-cpp">switch(x) {
  case 1:
    int i;  //geht nicht
}
</code></pre>
</blockquote>
<p>Doch, das geht. <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>Aber nur mit skalaren Datentypen und nur einmal pro <code>switch</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1663348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1663348</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 13 Feb 2009 17:18:08 GMT</pubDate></item><item><title><![CDATA[Reply to Zufallszahl | switch case | Variable | Fehler on Fri, 13 Feb 2009 17:43:45 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>_matze schrieb:</p>
<blockquote>
<pre><code class="language-cpp">switch(x) {
  case 1:
    int i;  //geht nicht
}
</code></pre>
</blockquote>
<p>Doch, das geht. <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>Aber nur mit skalaren Datentypen und nur einmal pro <code>switch</code> .</p>
</blockquote>
<p>Hui, du hast Recht! Da war ich in Gedanken wohl eher bei C... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1663360</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1663360</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Fri, 13 Feb 2009 17:43:45 GMT</pubDate></item><item><title><![CDATA[Reply to Zufallszahl | switch case | Variable | Fehler on Fri, 13 Feb 2009 18:07:38 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>erstmal danke für die Hilfe. Zumindest läuft die Compilierung weiter.</p>
<p>Leider gibt es noch Fehler <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>ich glaube es fehlt nur noch eine Klammer? Aber auch beim 10tem durchgehen kann ich kein Fehler finden!?!<br />
oder ist der Fehler vielleicht woanders und ich sehe es nicht?</p>
<pre><code class="language-cpp">155: Fehler: expected `}' before »else«
165: Fehler: »ipd_control« wurde in diesem Gültigkeitsbereich nicht definiert
168: Fehler: »upper_msg« wurde in diesem Gültigkeitsbereich nicht definiert
173: Fehler: »upper_msg« wurde in diesem Gültigkeitsbereich nicht definiert
178: Fehler: »upper_msg« wurde in diesem Gültigkeitsbereich nicht definiert
183: Fehler: »upper_msg« wurde in diesem Gültigkeitsbereich nicht definiert
188: Fehler: »upper_msg« wurde in diesem Gültigkeitsbereich nicht definiert
193: Fehler: »upper_msg« wurde in diesem Gültigkeitsbereich nicht definiert
199: Fehler: expected constructor, destructor, or type conversion before »;« token
200: Fehler: expected declaration before »}« token
</code></pre>
<p>hier der CODE | .cc</p>
<pre><code class="language-cpp">void CommonPartSublayerScheduling::handleMessage( cMessage *msg ) {
  int WERT = 0;
	if ( msg-&gt;isSelfMessage() ) {
	}

	else if ( msg-&gt;arrivalGateId() == upperLayerGateIn) {

		Ieee80216GenericMacHeader *upper_msg = check_and_cast&lt;Ieee80216GenericMacHeader*&gt;(msg);

		cPar *mac_entry_time = new cPar();
			mac_entry_time-&gt;setName(&quot;mac_entry_time&quot;);
			mac_entry_time-&gt;setDoubleValue( simTime() );
		upper_msg-&gt;addPar( mac_entry_time );

		IPDatagram *upper_ipd = check_and_cast&lt;IPDatagram*&gt;(upper_msg-&gt;encapsulatedMsg());
		Ieee80216TGControlInformation *ipd_control = check_and_cast&lt;Ieee80216TGControlInformation*&gt;(upper_ipd-&gt;controlInfo());

		if ( scheduler == &quot;FIFO&quot; ) {
			if ( queue_fifo.size() &lt; 3000 )
				queue_fifo.push_back(*upper_msg);
		}

		else if ( scheduler == &quot;PDT&quot; ) {
			switch ( ipd_control-&gt;getTraffic_type() ) {
				case UGS:
					WERT = zufall(WERT);
					if ( 0 &lt; WERT &lt; 100 ) {
					if ( queue_ugs.size() &lt; 250)
						queue_ugs.push_back(*upper_msg);
							      }
					break;

				case RTPS:
					WERT = zufall(WERT);
					if ( 0 &lt; WERT &lt; 100 ) {
					if ( queue_rtps.size() &lt; 500 )
						queue_rtps.push_back(*upper_msg);
							      }
					break;

				case ERTPS:
					WERT = zufall(WERT);
					if ( 0 &lt; WERT &lt; 60 ) {
					if ( queue_ertps.size() &lt; 500 )
						queue_ertps.push_back(*upper_msg);
							      }
					break;

				case NRTPS:
					WERT = zufall(WERT);
					if ( 0 &lt; WERT &lt; 40 ) {
					if ( queue_nrtps.size() &lt; 500 )
						queue_nrtps.push_back(*upper_msg);
							      }
					break;

				case BE:
					WERT = zufall(WERT);
					if ( 0 &lt; WERT &lt; 20 ) {
					if ( queue_be.size() &lt; 500 )
						queue_be.push_back(*upper_msg);
							      }
					break;
			}
            else
			       delete upper_msg;
         delete msg;
    }

		else if ( scheduler == &quot;WRR&quot; || scheduler == &quot;APQ&quot; ){
			switch ( ipd_control-&gt;getTraffic_type() ) {
				case UGS:
					if ( queue_ugs.size() &lt; 250 )
						queue_ugs.push_back(*upper_msg);
					break;

				case RTPS:
					if ( queue_rtps.size() &lt; 500 )
						queue_rtps.push_back(*upper_msg);
					break;

				case ERTPS:
					if ( queue_ertps.size() &lt; 500 )
						queue_ertps.push_back(*upper_msg);
					break;

				case NRTPS:
					if ( queue_nrtps.size() &lt; 500 )
						queue_nrtps.push_back(*upper_msg);
					break;

				case BE:
					if ( queue_be.size() &lt; 500 )
						queue_be.push_back(*upper_msg);
					break;
			}
		}
		else
			delete upper_msg;

		delete msg;
	}

	updateDisplay();
}
</code></pre>
<p>Wieso kann ich srand() nur 1mal verwenden? geht es nicht anders? oder würde es auch so gehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1663371</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1663371</guid><dc:creator><![CDATA[Michi8080]]></dc:creator><pubDate>Fri, 13 Feb 2009 18:07:38 GMT</pubDate></item><item><title><![CDATA[Reply to Zufallszahl | switch case | Variable | Fehler on Fri, 13 Feb 2009 18:10:59 GMT]]></title><description><![CDATA[<p>Michi8080 schrieb:</p>
<blockquote>
<p>ich glaube es fehlt nur noch eine Klammer? Aber auch beim 10tem durchgehen kann ich kein Fehler finden!?!<br />
oder ist der Fehler vielleicht woanders und ich sehe es nicht?</p>
</blockquote>
<p>Das wundert mich nicht bei dieser Einrückung. Wie wärs, wenn du uns noch sagen würdest, in welcher Zeile der Fehler vorkommt?</p>
<p>Michi8080 schrieb:</p>
<blockquote>
<p>Wieso kann ich srand() nur 1mal verwenden? geht es nicht anders? oder würde es auch so gehen?</p>
</blockquote>
<p>Weil <code>srand()</code> dazu dient, den Seed (Startwert) des Zufallsgenerators zu setzen. Und das sollte nur einmal gemacht werden, wenn dir etwas an der (Pseudo-)Zufälligkeit der erzeugten Werte liegt. Siehe auch <a href="http://www.cplusplus.com/reference/clibrary/cstdlib/srand.html" rel="nofollow">hier</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1663375</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1663375</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 13 Feb 2009 18:10:59 GMT</pubDate></item><item><title><![CDATA[Reply to Zufallszahl | switch case | Variable | Fehler on Fri, 13 Feb 2009 18:21:20 GMT]]></title><description><![CDATA[<p>sorry!!</p>
<p>erster Fehler kommt in der Zeile 68 .....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1663382</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1663382</guid><dc:creator><![CDATA[Michi8080]]></dc:creator><pubDate>Fri, 13 Feb 2009 18:21:20 GMT</pubDate></item><item><title><![CDATA[Reply to Zufallszahl | switch case | Variable | Fehler on Fri, 13 Feb 2009 18:23:48 GMT]]></title><description><![CDATA[<p>Michi8080 schrieb:</p>
<blockquote>
<p>sorry!!</p>
<p>erster Fehler kommt in der Zeile 68 .....</p>
</blockquote>
<p>So, wie ich das sehe fehlt da ein }. Aber Rück deinen Code anständig ein, dann findest du den Fehler selbst..<br />
Die IDE sollte dich da auch unterstützen, indem sie die Paare kennzeichnet..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1663385</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1663385</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Fri, 13 Feb 2009 18:23:48 GMT</pubDate></item><item><title><![CDATA[Reply to Zufallszahl | switch case | Variable | Fehler on Fri, 13 Feb 2009 18:34:34 GMT]]></title><description><![CDATA[<p>ja das ist ja das komisch dabei .... eigentlich sind da nur 2 Klammern ..<br />
die erste schließt die switch-Anweisung und die zweite die schließt die IF-Anweisung des &quot;PDT&quot;-schedulers....</p>
<p>da sollte &quot;mein ich&quot; keine andere noch dazu ?!?!?!</p>
<p>PS: Ich nutze Kate &amp; CodeBlocks unter Linux ....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1663392</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1663392</guid><dc:creator><![CDATA[Michi8080]]></dc:creator><pubDate>Fri, 13 Feb 2009 18:34:34 GMT</pubDate></item><item><title><![CDATA[Reply to Zufallszahl | switch case | Variable | Fehler on Fri, 13 Feb 2009 18:49:11 GMT]]></title><description><![CDATA[<p>Michi8080 schrieb:</p>
<blockquote>
<p>ja das ist ja das komisch dabei .... eigentlich sind da nur 2 Klammern ..<br />
die erste schließt die switch-Anweisung und die zweite die schließt die IF-Anweisung des &quot;PDT&quot;-schedulers....</p>
</blockquote>
<p>Ja, und schau mal, wo das <code>else</code> steht...</p>
<p>Aber wenn du einheitlich einrücken würdest (dazu gehört öffnende und schliessende Klammern auf gleicher Höhe), wäre das auch gleich viel klarer. Ausserdem könntest du den Code in mehrere kleine Funktionen aufteilen, dann hast du ein viel bessere Übersicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1663401</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1663401</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 13 Feb 2009 18:49:11 GMT</pubDate></item><item><title><![CDATA[Reply to Zufallszahl | switch case | Variable | Fehler on Fri, 13 Feb 2009 18:53:48 GMT]]></title><description><![CDATA[<p>Ich weiss jetzt, wo der Fehler ist, aber du sollst deinen Code einrücken lernen und am besten auch gleich auslagern. So kommst du nicht weit.</p>
<p>Du hast ein } am falschen Ort.. Wenn du den Code eingerückt hättest, dann hättest du das gemerkt..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1663403</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1663403</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Fri, 13 Feb 2009 18:53:48 GMT</pubDate></item><item><title><![CDATA[Reply to Zufallszahl | switch case | Variable | Fehler on Fri, 13 Feb 2009 19:00:23 GMT]]></title><description><![CDATA[<p>Danke! .. ja das stimmt .... in Funktionen aufteilen ist eine gute IDEE, bin noch Anfänger...</p>
<p>ich habe jetzt es mit mehr oder weniger Klammern versucht und leide ohne Erfolg <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 />
aber dann sobald ich den den letzten else-Zweig :</p>
<pre><code class="language-cpp">else
   delete upper_msg;
delete msg;
</code></pre>
<p>entfernt habe.... lief die Compilierung weiter <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>aber jetzt ein ganz komischer Fehler ?? <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>sagt euch</p>
<pre><code class="language-cpp">In function `CommonPartSublayerScheduling::handleMessage(cMessage*)':
(.text+0x14a2): undefined reference to `CommonPartSublayerScheduling::zufall(int)'
(.text+0x14ed): undefined reference to `CommonPartSublayerScheduling::zufall(int)'
(.text+0x1538): undefined reference to `CommonPartSublayerScheduling::zufall(int)'
(.text+0x1583): undefined reference to `CommonPartSublayerScheduling::zufall(int)'
(.text+0x15ce): undefined reference to `CommonPartSublayerScheduling::zufall(int)'
collect2: ld gab 1 als Ende-Status zurück
</code></pre>
<p>etwas?????</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1663406</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1663406</guid><dc:creator><![CDATA[Michi8080]]></dc:creator><pubDate>Fri, 13 Feb 2009 19:00:23 GMT</pubDate></item><item><title><![CDATA[Reply to Zufallszahl | switch case | Variable | Fehler on Fri, 13 Feb 2009 19:01:43 GMT]]></title><description><![CDATA[<p>Warum sollte man als Anfänger keine Funktionen benutzen können?! - Du benutzt ja auch schon eine, also wo ist das Problem?!</p>
<p>Was auch hilft ist den unwichtigen Code mal rauszunehmen. Dann hast du auch einen besseren Überblick..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1663410</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1663410</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Fri, 13 Feb 2009 19:01:43 GMT</pubDate></item><item><title><![CDATA[Reply to Zufallszahl | switch case | Variable | Fehler on Fri, 13 Feb 2009 19:03:40 GMT]]></title><description><![CDATA[<p>Du scheinst die Funktion <code>CommonPartSublayerScheduling::zufall(int)</code> nicht definiert zu haben. Zumindest nicht an einem Ort, wo sie der Linker findet.</p>
<p>Und den <code>else</code> -&quot;Zweig&quot; (nur das erste <code>delete</code> gehörte dazu) solltest du nicht entfernen, wenn du damit den Speicher nicht mehr freigibst. Besser die Klammer verschieben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1663412</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1663412</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 13 Feb 2009 19:03:40 GMT</pubDate></item><item><title><![CDATA[Reply to Zufallszahl | switch case | Variable | Fehler on Fri, 13 Feb 2009 19:18:49 GMT]]></title><description><![CDATA[<p>- nein natürlich kann ich auch Funktionen verwenden und werde es mir vornehmen, noch mehr zutun als bis jetzt!</p>
<p>- zu dem Fehler :<br />
Kann es sein das ein Linker-Fehler deswegen auftrifft weil man die Funktion nicht bei der ::initialize Funktion gesondert definiert hat?<br />
Ich habe ja die zufall() im Header mit</p>
<pre><code class="language-cpp">int zufall(int WERT);
</code></pre>
<p>deklariert und wie man an dem Code sehen kann , dann in der .cc auch Definiert.</p>
<p>reicht es vielleicht nicht aus???</p>
<p>die Methode zufall() ist im Header als private , es sollte glaube ich kein Problem sein, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1663423</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1663423</guid><dc:creator><![CDATA[Michi8080]]></dc:creator><pubDate>Fri, 13 Feb 2009 19:18:49 GMT</pubDate></item><item><title><![CDATA[Reply to Zufallszahl | switch case | Variable | Fehler on Fri, 13 Feb 2009 19:26:59 GMT]]></title><description><![CDATA[<p>Was ist <code>zufall</code> nun? Eine freie Funktion oder Memberfunktion?</p>
<p>Die Linkermeldung spricht für Memberfunktion, dass sie <code>private</code> ist auch, aber die Deklaration ist ja global? <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1663426</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1663426</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 13 Feb 2009 19:26:59 GMT</pubDate></item><item><title><![CDATA[Reply to Zufallszahl | switch case | Variable | Fehler on Fri, 13 Feb 2009 19:42:04 GMT]]></title><description><![CDATA[<p>also, ich erweitere Code das schon fertig ist. Und es sind um die 50.h und .cc drin enthalten.</p>
<p>Ich bin noch Anfänger.</p>
<p>Ich wollte den vorhanden Code einfach um einen &quot;scheduler&quot; erweitern, der eine neue Methode zufall() benutzt.</p>
<p>Ich weis das Memberfunktion die Funktionen von z.B. Strukturen sind. Ich habe Klassen, was kein Unterschied macht oder?</p>
<p>Ich dachte das wenn ich in Header die Funktion als Prototyp deklariere, dann reicht es aus, um in der .cc auf diese Deklaration zuzugreifen und die Definition zuschreiben. Sobald das steht, DACHTE ich mir dass ich dann innerhalb dieser .cc auf diese Funktion problemlos zugreifen kann.</p>
<p>ich sehe bestimmt etwas verkehrt? <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1663437</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1663437</guid><dc:creator><![CDATA[Michi8080]]></dc:creator><pubDate>Fri, 13 Feb 2009 19:42:04 GMT</pubDate></item><item><title><![CDATA[Reply to Zufallszahl | switch case | Variable | Fehler on Fri, 13 Feb 2009 19:48:25 GMT]]></title><description><![CDATA[<p>Michi8080 schrieb:</p>
<blockquote>
<p>Ich dachte das wenn ich in Header die Funktion als Prototyp deklariere, dann reicht es aus, um in der .cc auf diese Deklaration zuzugreifen und die Definition zuschreiben. Sobald das steht, DACHTE ich mir dass ich dann innerhalb dieser .cc auf diese Funktion problemlos zugreifen kann.</p>
</blockquote>
<p>Das stimmt eigentlich schon.</p>
<p>Doch wie gesagt sehe ich das Problem wo anders: Die Definition scheint nicht mit der Deklaration übereinzustimmen. Genauer gesagt vermischst du Memberfunktionen und freie Funktionen.</p>
<p>Wenn du die Klasse im Header hast, also so...</p>
<pre><code class="language-cpp">class CommonPartSublayerScheduling
{
    public:
        int zufall(int WERT);
};
</code></pre>
<p>...dann ist die Memberfunktion <code>zufall()</code> bereits deklariert. Dann kannst du die Definition in die .cc- oder .cpp-Datei schreiben, und sofern du diesen Header einbindest, sollte alles gut sein.</p>
<p>Wenn du die Methode dann einsetzt, musst du ein zugehöriges Objekt haben. Oder du machst sie gleich statisch, sodass sie sich ähnlich wie eine freie Funktion verhält, aber dem Scope und Zugriff der Klasse unterworfen ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1663445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1663445</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 13 Feb 2009 19:48:25 GMT</pubDate></item><item><title><![CDATA[Reply to Zufallszahl | switch case | Variable | Fehler on Fri, 13 Feb 2009 19:59:09 GMT]]></title><description><![CDATA[<p>GESCHAFFT <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>also erstmal die Frage : wenn ich die Funktion in Header als static deklariert hätte, dann hätte es also geklappt?</p>
<p>so habe ich die zugehörige Klasse hinzugefügt, bzw. den Scope davor gesetzt (bestimmt falsche Ausdrucksweise)<br />
int CommonPartSublayerScheduling::zufall(int a) {<br />
....</p>
<p>gibt es eigentlich Vorteile wenn ich static benutzt hätte?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1663453</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1663453</guid><dc:creator><![CDATA[Michi8080]]></dc:creator><pubDate>Fri, 13 Feb 2009 19:59:09 GMT</pubDate></item><item><title><![CDATA[Reply to Zufallszahl | switch case | Variable | Fehler on Fri, 13 Feb 2009 20:07:39 GMT]]></title><description><![CDATA[<p>Michi8080 schrieb:</p>
<blockquote>
<p>wenn ich die Funktion in Header als static deklariert hätte, dann hätte es also geklappt? [...] gibt es eigentlich Vorteile wenn ich static benutzt hätte?</p>
</blockquote>
<p>Das kann ich so nicht sagen, weil ich dein Problem immer noch nicht genau kenne.</p>
<p>Beispielsweise sehe ich immer noch nicht ein, warum <code>zufall()</code> jetzt eine Memberfunktion ist. Greift sie auf private Membervariablen der Klasse zu? Gehört sie zu einem Objekt und reagiert je nach Objekt anders?</p>
<p>Ansonsten kannst du eine statische Klassenfunktion machen, wenn du findest, die Funktion gehöre logisch zur Klasse (zum Beispiel weil sie auf statische Member zugreift), sei aber unabhängig von deren Instanzen. Wenn sie nichts direkt mit der Klasse zu tun, machst du am besten eine freie, globale Funktion.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1663458</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1663458</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 13 Feb 2009 20:07:39 GMT</pubDate></item><item><title><![CDATA[Reply to Zufallszahl | switch case | Variable | Fehler on Fri, 13 Feb 2009 20:15:04 GMT]]></title><description><![CDATA[<p>alles klar!</p>
<p>Also ich bin wie gesagt, kein Experte <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 />
aber ich sehe den Code ... &amp; im Code waren in dieser .cc alle Funktionen, Methoden der Klasse und wurden mit Scope-Operator benutzt.<br />
Logisch gehört für mich zufall() natürlich nicht zu der Klasse, da ich ja nur Zufallszahlen erzeugen will und diese dann für meine case´s nutzen will.</p>
<p>Aber naja...es läuft &amp; ich bin HAPPY <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>
<p>nun zu dem Thema mit srand()...das mann es nur 1 mal aufrufen sollte und nicht jedesmal wenn ein von fünf case´s genommen wird.</p>
<p>D.h. ich muss diese Zeile</p>
<pre><code class="language-cpp">srand( (unsigned) time(NULL) ) ;
</code></pre>
<p>aus der Methode zufall() herausnehmen?<br />
Und Global z.b. direkt in</p>
<pre><code class="language-cpp">void CommonPartSublayerScheduling::initialize() {
......
......
  srand( (unsigned) time(NULL) );
.....
.....
</code></pre>
<p>reinnehmen?<br />
Ich habe noch nie mit srand() gearbeitet. Ich weis nur dass wenn man Zufallszahlen erzeugen will, dann kommen immer wieder die gleichen raus. Und srand mit Time , erzeugt die Zufallszahlen in Abhängigkeit von der aktuellen Zeit. Also besser randomisiert. Allerdings hört hier schon mein WISSEN über srand() auf <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/1663460</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1663460</guid><dc:creator><![CDATA[Michi8080]]></dc:creator><pubDate>Fri, 13 Feb 2009 20:15:04 GMT</pubDate></item><item><title><![CDATA[Reply to Zufallszahl | switch case | Variable | Fehler on Fri, 13 Feb 2009 20:28:33 GMT]]></title><description><![CDATA[<p>srand machst du am besten bereits in der main rein. Funktionen können ja mehrmals aufgerufen werden und eigenen sich daher nicht.</p>
<p>srand initialisiert den Zufallsgenerator mit einem seed, den du übergeben musst, damit auch &quot;zufällige&quot; Zahlen rauskommen. Wenn man z.B einen festen Wert eingibt, kann man seine &quot;zufällige&quot; Applikation testen und immer mit den gleichen Werten rechenen. (also der gleichen Abfolge). Für Debuggen Gold Wert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1663470</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1663470</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Fri, 13 Feb 2009 20:28:33 GMT</pubDate></item><item><title><![CDATA[Reply to Zufallszahl | switch case | Variable | Fehler on Fri, 13 Feb 2009 20:29:04 GMT]]></title><description><![CDATA[<p>Michi8080 schrieb:</p>
<blockquote>
<p>Logisch gehört für mich zufall() natürlich nicht zu der Klasse, da ich ja nur Zufallszahlen erzeugen will und diese dann für meine case´s nutzen will.</p>
<p>Aber naja...es läuft &amp; ich bin HAPPY <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>
</blockquote>
<p>Hm. Wenn es jetzt eine Memberfunktion ist, solltest du es unbedingt global machen. Sonst kommt irgendwann der Zeitpunkt, wo du nicht mehr HAPPY bist. <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>Michi8080 schrieb:</p>
<blockquote>
<p>Ich habe noch nie mit srand() gearbeitet. Ich weis nur dass wenn man Zufallszahlen erzeugen will, dann kommen immer wieder die gleichen raus. Und srand mit Time , erzeugt die Zufallszahlen in Abhängigkeit von der aktuellen Zeit. Also besser randomisiert. Allerdings hört hier schon mein WISSEN über srand() auf <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>
</blockquote>
<p>Also, etwas weiter ausgeholt. In der C++-Standardbibliothek (genauer gesagt dem C-Teil) gibt eine Funktion, um Zufallszahlen erzeugen. Die erzeugten Zahlen sind jedoch nicht wirklich zufällig, sondern werden deterministisch durch Algorithmen erzeugt. Mit der Funktion <code>rand()</code> forderst du eine solche Pseudozufallszahl an.</p>
<p>Weil der Zufallsgenerator eben deterministisch verläuft, liefert er bei jedem Programmstart die gleichen Zahlen. Um wenigstens da ein bisschen Zufälligkeit reinzubringen, gibt es <code>srand()</code> - eine Funktion, die den Startwert setzt, von dem die nachfolgenden Zufallszahlen abhängen.</p>
<p>Nun zum Grund, warum man <code>srand()</code> nur einmal aufrufen sollte: Der erwähnte Algorithmus basiert auf dem Konzept des linearen Kongruenzgenerators (halt einfach eine Art von Zufallsgeneratoren). Dessen erzeugte Zahlenfolgen erfüllen gewisse Kriterien, die als &quot;Zufälligkeit&quot; interpretiert werden können (darunter Gleichverteilung, nicht zu starke Korrelation aufeinanderfolgender Werte). Diese Forderungen können nur unter der Bedingung erfüllt werden, dass der Algorithmus wie geplant abläuft. Das tut er, solange man immer brav <code>rand()</code> aufruft. Er benutzt dann nämlich die neu erzeugten Zahlen wiederum als Startwert und arbeitet so rekursiv. Mit <code>srand()</code> stört man diesen Ablauf, indem man den momentanen Wert neu setzt. Damit kann die erwartete Zufälligkeit nicht mehr gewährleistet werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1663471</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1663471</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 13 Feb 2009 20:29:04 GMT</pubDate></item><item><title><![CDATA[Reply to Zufallszahl | switch case | Variable | Fehler on Fri, 13 Feb 2009 20:38:58 GMT]]></title><description><![CDATA[<p>ok! jetzt verstehe ich den GRUND!</p>
<p>jetzt muss ich nur wissen WIE ich es mache und wohin ich den srand() setze?</p>
<p>in die Initialisierung wie oben schon angegeben? oder woanders?</p>
<p>ich meine wenn srand() nur 1mal aufgerufen werden soll, dann soll er NICHT innerhalb der Methode zufall() stehen, richtig?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1663480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1663480</guid><dc:creator><![CDATA[Michi8080]]></dc:creator><pubDate>Fri, 13 Feb 2009 20:38:58 GMT</pubDate></item><item><title><![CDATA[Reply to Zufallszahl | switch case | Variable | Fehler on Fri, 13 Feb 2009 20:41:08 GMT]]></title><description><![CDATA[<p>Michi8080 schrieb:</p>
<blockquote>
<p>in die Initialisierung wie oben schon angegeben? oder woanders?</p>
</blockquote>
<p>Hauptsache, es wird nur einmal aufgerufen. Wird es das bei der <code>Init()</code> -Methode? Vielleicht besser, du schreibst es an den Anfang von <code>main()</code> - ich hoffe schwer, dass es da nicht mehrmals aufgerufen wird. <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>Michi8080 schrieb:</p>
<blockquote>
<p>ich meine wenn srand() nur 1mal aufgerufen werden soll, dann soll er NICHT innerhalb der Methode zufall() stehen, richtig?</p>
</blockquote>
<p>Richtig. <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>
<p>P.S. Ist <code>zufall()</code> jetzt endlich als freie Funktion implementiert? :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1663481</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1663481</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 13 Feb 2009 20:41:08 GMT</pubDate></item></channel></rss>