<?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[Variable wird Müll in Schleife?]]></title><description><![CDATA[<p>Abend,</p>
<p>ich stehe gerade vor einem totalen Rätsel. Ich habe folgende Schleife:</p>
<pre><code class="language-cpp">float t=0;

for(uint i=0; i &lt; iterations; i++, t += mHeightmap.getScaleXZ() * 10) {
   samplePoint = ray.getPoint(t);

   heightTerrain = mHeightmap.sampleHeight(isInsideHeightmap, samplePoint.x, samplePoint.z);

   if(!isInsideHeightmap)  {
      return false;
   }

   if(heightTerrain &gt; samplePoint.y) {

      float t1 = t - mHeightmap.getScaleXZ();
      ...
</code></pre>
<p>Es geht um die Variable t, die außerhalb der Schleife definiert wird. Es passiert beim Ablauf meines Codes jetzt folgendes: t wird in jedem Durchlauf erhöht (siehe Schleifenkopf) und irgendwann ist dann heightTerrain &gt; samplePoint.y erfüllt und er geht in den if-Zweig. Sobald er in den Zweig geht, steht in t totaler Müll! Ich bin im Debugger durchgegangen und da sah es so aus: t ist gerade 1100, jetzt geht er in den if zweig if(heightTerrain &gt; samplePoint.y)und t springt auf den Wert -1.0737418e+008! Wie kann das sein? <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/topic/247758/variable-wird-müll-in-schleife</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 11:29:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/247758.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 15 Aug 2009 02:23:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Variable wird Müll in Schleife? on Sat, 15 Aug 2009 02:23:24 GMT]]></title><description><![CDATA[<p>Abend,</p>
<p>ich stehe gerade vor einem totalen Rätsel. Ich habe folgende Schleife:</p>
<pre><code class="language-cpp">float t=0;

for(uint i=0; i &lt; iterations; i++, t += mHeightmap.getScaleXZ() * 10) {
   samplePoint = ray.getPoint(t);

   heightTerrain = mHeightmap.sampleHeight(isInsideHeightmap, samplePoint.x, samplePoint.z);

   if(!isInsideHeightmap)  {
      return false;
   }

   if(heightTerrain &gt; samplePoint.y) {

      float t1 = t - mHeightmap.getScaleXZ();
      ...
</code></pre>
<p>Es geht um die Variable t, die außerhalb der Schleife definiert wird. Es passiert beim Ablauf meines Codes jetzt folgendes: t wird in jedem Durchlauf erhöht (siehe Schleifenkopf) und irgendwann ist dann heightTerrain &gt; samplePoint.y erfüllt und er geht in den if-Zweig. Sobald er in den Zweig geht, steht in t totaler Müll! Ich bin im Debugger durchgegangen und da sah es so aus: t ist gerade 1100, jetzt geht er in den if zweig if(heightTerrain &gt; samplePoint.y)und t springt auf den Wert -1.0737418e+008! Wie kann das sein? <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/1761166</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1761166</guid><dc:creator><![CDATA[verwirrter]]></dc:creator><pubDate>Sat, 15 Aug 2009 02:23:24 GMT</pubDate></item><item><title><![CDATA[Reply to Variable wird Müll in Schleife? on Sat, 15 Aug 2009 07:56:27 GMT]]></title><description><![CDATA[<p>hast d noch ein t im if?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1761186</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1761186</guid><dc:creator><![CDATA[df]]></dc:creator><pubDate>Sat, 15 Aug 2009 07:56:27 GMT</pubDate></item><item><title><![CDATA[Reply to Variable wird Müll in Schleife? on Sat, 15 Aug 2009 08:09:18 GMT]]></title><description><![CDATA[<p>Auf den ersten Blick habe ich nichts gesehen, und auf den zweiten sehe ich auch nichts. Hast du den operator &gt; für den Typen des Objekts heightTerrain überladen und dabei einen Seiteneffekt nicht berücksichtigt? Was gibt denn mHeightmap.getScaleXZ(); in Zeile 14 zurück?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1761190</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1761190</guid><dc:creator><![CDATA[Der aus dem Westen ...]]></dc:creator><pubDate>Sat, 15 Aug 2009 08:09:18 GMT</pubDate></item><item><title><![CDATA[Reply to Variable wird Müll in Schleife? on Sat, 15 Aug 2009 08:55:53 GMT]]></title><description><![CDATA[<p>wie sieht es mit der Signatur von ray.getPoint aus?<br />
wo werden die anderen Variablen definiert?<br />
Wie sieht die vollständige Schleife aus?<br />
Welcher Assembler Code wird dazu generiert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1761203</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1761203</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sat, 15 Aug 2009 08:55:53 GMT</pubDate></item></channel></rss>