<?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[If-Abfrage - Synthaxfehler]]></title><description><![CDATA[<p>Hallo,<br />
bei folgender If-Abfrage</p>
<pre><code>if(direct==UP) position[1]=(position[1]-amount);
</code></pre>
<p>bekomme ich zwei Synthaxfehler:</p>
<blockquote>
<p>error C2143: Syntaxfehler: Es fehlt ';' vor 'if'<br />
error C2059: Syntaxfehler: '='</p>
</blockquote>
<p>Auch wenn ich geschweifte Klammern benutze oder am Ende noch ein zweites Semmikolon...</p>
<p>Die ganze Funktion sieht so aus:</p>
<pre><code>void move(int direct,float amount)
{

	if(direct==UP) position[1]=(position[1]-amount);

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/282659/if-abfrage-synthaxfehler</link><generator>RSS for Node</generator><lastBuildDate>Sun, 23 Aug 2026 00:34:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/282659.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 23 Feb 2011 21:23:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to If-Abfrage - Synthaxfehler on Wed, 23 Feb 2011 21:23:59 GMT]]></title><description><![CDATA[<p>Hallo,<br />
bei folgender If-Abfrage</p>
<pre><code>if(direct==UP) position[1]=(position[1]-amount);
</code></pre>
<p>bekomme ich zwei Synthaxfehler:</p>
<blockquote>
<p>error C2143: Syntaxfehler: Es fehlt ';' vor 'if'<br />
error C2059: Syntaxfehler: '='</p>
</blockquote>
<p>Auch wenn ich geschweifte Klammern benutze oder am Ende noch ein zweites Semmikolon...</p>
<p>Die ganze Funktion sieht so aus:</p>
<pre><code>void move(int direct,float amount)
{

	if(direct==UP) position[1]=(position[1]-amount);

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2025583</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2025583</guid><dc:creator><![CDATA[Webster]]></dc:creator><pubDate>Wed, 23 Feb 2011 21:23:59 GMT</pubDate></item><item><title><![CDATA[Reply to If-Abfrage - Synthaxfehler on Wed, 23 Feb 2011 21:30:17 GMT]]></title><description><![CDATA[<p>Meine übermüdeten Augen sehen gerade keinen Fehler in den Codeausschnitten. Was steht denn vor der Funktion und wie sind UP und position definiert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2025585</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2025585</guid><dc:creator><![CDATA[icarus2]]></dc:creator><pubDate>Wed, 23 Feb 2011 21:30:17 GMT</pubDate></item><item><title><![CDATA[Reply to If-Abfrage - Synthaxfehler on Wed, 23 Feb 2011 21:31:57 GMT]]></title><description><![CDATA[<p>Vor der Funktion steht</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;stdlib.h&gt;
#include &lt;windows.h&gt;
#include &lt;SDL.h&gt;
#include &lt;glut.h&gt;

#define	UP	= 1;
#define RIGHT	= 2;
#define DOWN	= 3;
#define LEFT	= 4;

using namespace std;

float position[2];
</code></pre>
<p>Da sollte kein Fehler drin sein. Kommentiere ich die fehlerhafte if-abfrage aus, funktioniert auch alles.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2025586</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2025586</guid><dc:creator><![CDATA[Webster]]></dc:creator><pubDate>Wed, 23 Feb 2011 21:31:57 GMT</pubDate></item><item><title><![CDATA[Reply to If-Abfrage - Synthaxfehler on Wed, 23 Feb 2011 21:34:49 GMT]]></title><description><![CDATA[<p>1.) Es müsste '#define UP 1' heißen.<br />
2.) Wozu ein define? 'const int UP = 1;'</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2025587</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2025587</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Wed, 23 Feb 2011 21:34:49 GMT</pubDate></item><item><title><![CDATA[Reply to If-Abfrage - Synthaxfehler on Wed, 23 Feb 2011 21:36:32 GMT]]></title><description><![CDATA[<p>Die #define müssen so aussehen:</p>
<pre><code class="language-cpp">#define    UP  1
#define RIGHT 2
#define DOWN 3
#define LEFT 4
</code></pre>
<p>Besser wäre allerdings Konstanten zu verwenden. Die #defines sind nicht so toll, da es dumme Fehler geben kann und etwas vorischt geboten ist. Also besser Konstanten nehmen, z.B. so:</p>
<pre><code class="language-cpp">const int UP = 1;
const int RIGHT = 2;
const int DOWN = 3;
const int LEFT = 4;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2025589</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2025589</guid><dc:creator><![CDATA[icarus2]]></dc:creator><pubDate>Wed, 23 Feb 2011 21:36:32 GMT</pubDate></item><item><title><![CDATA[Reply to If-Abfrage - Synthaxfehler on Wed, 23 Feb 2011 21:51:57 GMT]]></title><description><![CDATA[<p>Und nochmals besser wäre <code>enum</code> , dann hat man einen Typ, der nur die angegebenen Werte zulässt.</p>
<pre><code class="language-cpp">enum Direction
{
    Up,
    Right,
    Down,
    Left,
};
</code></pre>
<p>Die Funktion wird dann zu:</p>
<pre><code class="language-cpp">void move(Direction direct, float amount)
{
    // hier switch statt if verwenden!
}
</code></pre>
<p>Was im Gegensatz zu <code>int</code> sinnvollerweise einen Fehler verursacht, ist sowas:</p>
<pre><code class="language-cpp">move(7, 3.25f);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2025596</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2025596</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 23 Feb 2011 21:51:57 GMT</pubDate></item><item><title><![CDATA[Reply to If-Abfrage - Synthaxfehler on Thu, 24 Feb 2011 00:04:34 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Und nochmals besser wäre <code>enum</code> , dann hat man einen Typ, der nur die angegebenen Werte zulässt.</p>
</blockquote>
<p>Was auch ungewollt sein kann, falls man <code>Up|Right</code> will. Da vermisse ich ein <code>flags</code> -Konstrukt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2025642</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2025642</guid><dc:creator><![CDATA[fdfdg]]></dc:creator><pubDate>Thu, 24 Feb 2011 00:04:34 GMT</pubDate></item><item><title><![CDATA[Reply to If-Abfrage - Synthaxfehler on Thu, 24 Feb 2011 00:26:46 GMT]]></title><description><![CDATA[<p>Kombinierbare Flags scheinen hier nicht benötigt zu werden, da die Konstanten Nicht-Zweierpotenzen als Werte haben. Ein <code>enum</code> schadet so oder so nicht, im schlimmsten Fall nutzt man eben die Konvertierbarkeit zu <code>unsigned int</code> . Dann kann man wenigstens in anderen Situationen die Typsicherheit nutzen.</p>
<p>Und ansonsten böte sich immer noch die Möglichkeit an, den <code>operator|</code> zu überladen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2025645</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2025645</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 24 Feb 2011 00:26:46 GMT</pubDate></item><item><title><![CDATA[Reply to If-Abfrage - Synthaxfehler on Thu, 24 Feb 2011 07:33:56 GMT]]></title><description><![CDATA[<p>Der erste Syntaxfehler, den ich hier gesehen habe, war &quot;Synthaxfehler&quot;. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2025677</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2025677</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Thu, 24 Feb 2011 07:33:56 GMT</pubDate></item><item><title><![CDATA[Reply to If-Abfrage - Synthaxfehler on Thu, 24 Feb 2011 08:39:02 GMT]]></title><description><![CDATA[<p>Das <code>#include &lt;windows.h&gt;</code> ist übrigens ein ziemlich heißer Kandidat für solche Fehler. In den Windows-Includes werden völlig schmerzbefreit riesige Mengen an Makros definiert, die allzu oft sehr allgemeine Namen haben. Evtl. gibt es da z.B. Defines für UP, DOWN etc. Es kann auch sein, dass es sich mit irgendetwas aus den nachfolgend eingebundenen Headern beißt, wobei dann eigentlich noch mehr komische Fehler auftreten sollten.<br />
Am Besten <code>&lt;windows.h&gt;</code> immer als Letztes einbinden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2025715</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2025715</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Thu, 24 Feb 2011 08:39:02 GMT</pubDate></item><item><title><![CDATA[Reply to If-Abfrage - Synthaxfehler on Thu, 24 Feb 2011 09:47:20 GMT]]></title><description><![CDATA[<p>Tachyon schrieb:</p>
<blockquote>
<p>Das <code>#include &lt;windows.h&gt;</code> ist übrigens ein ziemlich heißer Kandidat für solche Fehler. In den Windows-Includes werden völlig schmerzbefreit riesige Mengen an Makros definiert, die allzu oft sehr allgemeine Namen haben. Evtl. gibt es da z.B. Defines für UP, DOWN etc. Es kann auch sein, dass es sich mit irgendetwas aus den nachfolgend eingebundenen Headern beißt, wobei dann eigentlich noch mehr komische Fehler auftreten sollten.<br />
Am Besten <code>&lt;windows.h&gt;</code> immer als Letztes einbinden.</p>
</blockquote>
<p>Das ließe sich ja daran erkennen, dass der Compiler wegen Neudefinition warnt. Webster?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2025756</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2025756</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Thu, 24 Feb 2011 09:47:20 GMT</pubDate></item><item><title><![CDATA[Reply to If-Abfrage - Synthaxfehler on Thu, 24 Feb 2011 10:14:34 GMT]]></title><description><![CDATA[<p>[quote=&quot;_matze&quot;]</p>
<p>Tachyon schrieb:</p>
<blockquote>
<p>Das ließe sich ja daran erkennen, dass der Compiler wegen Neudefinition warnt. Webster?</p>
</blockquote>
<p>Bei Defines stimmt das, ja. Aber sowas wie min und max, oder enums liefern ziemliche bizarre Fehler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2025763</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2025763</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Thu, 24 Feb 2011 10:14:34 GMT</pubDate></item></channel></rss>