<?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[Enum wird vom Compiler angemeckert ....]]></title><description><![CDATA[<p>Hi Leuts,</p>
<p>kann mir mal einer sagen warum diese Enum<br />
enum Farbe {ROT, GELB, GRUEN, BLAU };<br />
vom Complier (Visula Studio 2008 express) akzeptiert wird, diese<br />
enum Farbe {MTM, GELB, GRUEN, BLAU };<br />
aber angemeckert wird? Dabei ist es egal ob jetzt MTM oder ABC steht ....<br />
Der Compiler meint<br />
loader.h(8) : error C2143: Syntaxfehler: Es fehlt '}' vor 'Konstante'<br />
loader.h(8) : error C2143: Syntaxfehler: Es fehlt ';' vor '}'<br />
loader.h(8) : error C2059: Syntaxfehler: '}'</p>
<p>Ich möchte verschiedene Ladegerätehersteller in einer Enum definieren, kriegs aber nicht hin:<br />
MTM, HEIDEN, DEUTRONIC_ALT, DEUTRONIC_NEU</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/251514/enum-wird-vom-compiler-angemeckert</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 11:11:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/251514.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 06 Oct 2009 12:23:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Enum wird vom Compiler angemeckert .... on Tue, 06 Oct 2009 12:23:20 GMT]]></title><description><![CDATA[<p>Hi Leuts,</p>
<p>kann mir mal einer sagen warum diese Enum<br />
enum Farbe {ROT, GELB, GRUEN, BLAU };<br />
vom Complier (Visula Studio 2008 express) akzeptiert wird, diese<br />
enum Farbe {MTM, GELB, GRUEN, BLAU };<br />
aber angemeckert wird? Dabei ist es egal ob jetzt MTM oder ABC steht ....<br />
Der Compiler meint<br />
loader.h(8) : error C2143: Syntaxfehler: Es fehlt '}' vor 'Konstante'<br />
loader.h(8) : error C2143: Syntaxfehler: Es fehlt ';' vor '}'<br />
loader.h(8) : error C2059: Syntaxfehler: '}'</p>
<p>Ich möchte verschiedene Ladegerätehersteller in einer Enum definieren, kriegs aber nicht hin:<br />
MTM, HEIDEN, DEUTRONIC_ALT, DEUTRONIC_NEU</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1788665</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1788665</guid><dc:creator><![CDATA[Grieko]]></dc:creator><pubDate>Tue, 06 Oct 2009 12:23:20 GMT</pubDate></item><item><title><![CDATA[Reply to Enum wird vom Compiler angemeckert .... on Tue, 06 Oct 2009 12:25:26 GMT]]></title><description><![CDATA[<p>Vermutlich ist MTM irgendwo als Makro definiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1788667</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1788667</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Tue, 06 Oct 2009 12:25:26 GMT</pubDate></item><item><title><![CDATA[Reply to Enum wird vom Compiler angemeckert .... on Tue, 06 Oct 2009 12:27:22 GMT]]></title><description><![CDATA[<p>Es empfielt sich generell, nur Makros großzuschreiben, um solche Fehler zu vermeiden.</p>
<p>Gruß Kimmi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1788669</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1788669</guid><dc:creator><![CDATA[kimmi]]></dc:creator><pubDate>Tue, 06 Oct 2009 12:27:22 GMT</pubDate></item><item><title><![CDATA[Reply to Enum wird vom Compiler angemeckert .... on Tue, 06 Oct 2009 12:34:10 GMT]]></title><description><![CDATA[<p>die anderen Worte mag er auch nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1788671</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1788671</guid><dc:creator><![CDATA[Grieko]]></dc:creator><pubDate>Tue, 06 Oct 2009 12:34:10 GMT</pubDate></item><item><title><![CDATA[Reply to Enum wird vom Compiler angemeckert .... on Tue, 06 Oct 2009 12:37:50 GMT]]></title><description><![CDATA[<p>1. Generell keine komplette Großschreibung in C++ Code benutzen. Empfehlung:</p>
<pre><code class="language-cpp">enum farbe { gelb, rot, gruen };
// oder
enum Farbe { Gelb, Rot, Gruen };
</code></pre>
<p>Komplette Großschreibung benutzt man eigentlich nur für Makros. Und Makros sind bekanntlich evil! <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="😃"
    /> Jetzt haste den Salat. <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>2. MTM ist wahrscheinlich in einem der Header die direkt oder indirekt benutzt werden, als Makro definiert. Du kannst in einem solchen Fall, falls du Punkt 1 nicht nachgehen willst, ein <code>#undef</code> MTM machen:</p>
<pre><code class="language-cpp">#undef MTM
enum Farbe { MTM ...};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1788675</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1788675</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Tue, 06 Oct 2009 12:37:50 GMT</pubDate></item><item><title><![CDATA[Reply to Enum wird vom Compiler angemeckert .... on Tue, 06 Oct 2009 13:09:59 GMT]]></title><description><![CDATA[<p>hast Du mir geholfen, danke für den Hinweis.<br />
Das Problem war dass ich die Header-Datei mit der Definition mehrfach includiert habe, ohne das #pragma once zu benutzen</p>
<p>THX</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1788690</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1788690</guid><dc:creator><![CDATA[Grieko]]></dc:creator><pubDate>Tue, 06 Oct 2009 13:09:59 GMT</pubDate></item><item><title><![CDATA[Reply to Enum wird vom Compiler angemeckert .... on Tue, 06 Oct 2009 14:02:04 GMT]]></title><description><![CDATA[<p>Grieko schrieb:</p>
<blockquote>
<p>ohne das #pragma once zu benutzen</p>
</blockquote>
<p>Was dir auch nur beim MSVC hilf, soll heißen, nicht standardgemäß und portabel ist. Wenn du dir nicht 100% sicher bist, dass du das Ganze nie auf einen anderen Compiler portieren willst, benutz &quot;richtige&quot; Includeguards, die jeder Compiler versteht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1788729</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1788729</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 06 Oct 2009 14:02:04 GMT</pubDate></item><item><title><![CDATA[Reply to Enum wird vom Compiler angemeckert .... on Tue, 06 Oct 2009 14:21:10 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Komplette Großschreibung benutzt man eigentlich nur für Makros.</p>
</blockquote>
<p>Ich schreibe neben Makros auch Konstanten groß, was eine verbreitete Konvention in verschiedenen Programmiersprachen zu sein scheint. Ich habe mir das angeeignet und nie groß drüber nachgedacht, aber jetzt wo ich es tue, scheint mir das eine ähnlich dämliche Konvention wie die ungarische Notation zu sein.</p>
<p>pumuckl schrieb:</p>
<blockquote>
<p>Was dir auch nur beim MSVC hilf, soll heißen, nicht standardgemäß und portabel ist.</p>
</blockquote>
<p>Nicht standardgemäß ist richtig, allerdings wird es von einer ganzen Reihe von Compilern unterstüzt, nicht nur von MS.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1788748</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1788748</guid><dc:creator><![CDATA[Registrierter Troll]]></dc:creator><pubDate>Tue, 06 Oct 2009 14:21:10 GMT</pubDate></item><item><title><![CDATA[Reply to Enum wird vom Compiler angemeckert .... on Tue, 06 Oct 2009 14:31:16 GMT]]></title><description><![CDATA[<p>ich schreib konstanten auch groß:</p>
<pre><code class="language-cpp">const int MEINE_TOLLE_KONSTANTE = 0x001;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1788754</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1788754</guid><dc:creator><![CDATA[It0101]]></dc:creator><pubDate>Tue, 06 Oct 2009 14:31:16 GMT</pubDate></item><item><title><![CDATA[Reply to Enum wird vom Compiler angemeckert .... on Tue, 06 Oct 2009 15:33:45 GMT]]></title><description><![CDATA[<p>Ist zwar schon off topic,<br />
aber ich schließe mich auch den Meinungen von It0101 und Registrierter Troll an:</p>
<p>Ich schreibe Makros und Konstanten immer komplett in Großbuchstaben!</p>
<p>Allerdings schreibe ich vor Makros den Prefix &quot;MAKRO_&quot;, also so:</p>
<pre><code class="language-cpp">MAKRO_RGB( 0xF0, 0xF8, 0xFF );
</code></pre>
<p>Und Konstanten versehe ich mit einem Prefix &quot;N&quot; (steht für <strong>n</strong>umber):</p>
<pre><code class="language-cpp">#define NUI32_MEINE_TOLLE_KONSTANTE  0x1234
</code></pre>
<p>(wobei der Teil UI32 nach meiner Definition für &quot;unsigned int 32bit&quot; steht)</p>
<p>just my 5 cents,<br />
Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1788781</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1788781</guid><dc:creator><![CDATA[Mmacher]]></dc:creator><pubDate>Tue, 06 Oct 2009 15:33:45 GMT</pubDate></item><item><title><![CDATA[Reply to Enum wird vom Compiler angemeckert .... on Tue, 06 Oct 2009 18:01:37 GMT]]></title><description><![CDATA[<p>Mmacher schrieb:</p>
<blockquote>
<p>Und Konstanten versehe ich mit einem Prefix &quot;N&quot; (steht für <strong>n</strong>umber):</p>
<pre><code class="language-cpp">#define NUI32_MEINE_TOLLE_KONSTANTE  0x1234
</code></pre>
</blockquote>
<p>Nein! :p</p>
<p>Nimm doch für Konstanten <code>const</code> , so machst du sie für den Compiler sichtbar und gibst einen konkreten Typen an. Das hilft dir beim Debuggen, berücksichtigt den Scope und vermeidet gewisse andere bekannte Makro-Probleme, die durch die rein textuelle Ersetzung entstehen. Beispielsweise muss man bei komplexeren Ausdrücken wie verrückt klammern. Bei Instanzen von Klassen kann ein Nachteil entstehen, wenn der Ausdruck jedes Mal wieder ausgewertet wird, anstatt dass einmal eine Konstante existiert und es sich immer um die gleiche handelt.</p>
<p>Auch von sowas wie &quot;N&quot; halte ich nicht sehr viel - oft stellt der Bezeichner bereits klar, dass es sich um eine Zahl handelt. Aber das muss ja jeder selbst wissen. <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/1788861</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1788861</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 06 Oct 2009 18:01:37 GMT</pubDate></item><item><title><![CDATA[Reply to Enum wird vom Compiler angemeckert .... on Wed, 07 Oct 2009 07:18:36 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Nimm doch für Konstanten <code>const</code> , so machst du sie für den Compiler sichtbar und gibst einen konkreten Typen an. Das hilft dir beim ...</p>
</blockquote>
<p>Danke für die Info, wieder was dazugelernt... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>Nexus schrieb:</p>
<blockquote>
<p>Auch von sowas wie &quot;N&quot; halte ich nicht sehr viel - oft stellt der Bezeichner bereits klar, dass es sich um eine Zahl handelt. Aber das muss ja jeder selbst wissen. <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>Wenn es nur um ganz &quot;übliche&quot; Programmierung geht, gebe ich Dir recht.</p>
<p>ABER: Wenn Du ein Projekt vorgesetzt bekommst oder nach Jahren etwas weiterpflegen mußt, kannst Du in ihm mit &quot;Find in files&quot; oder &quot;grep&quot; oder &quot;Dateien suchen&quot; in Total Commander dann gezielt nach den Vorkommen von solchen numerischen Konstanten suchen und Dir den ersten Überblick verschaffen.<br />
Mit regular Expressions kannst Du mit dem Muster &quot;N Großbuchstabe am Wortanfang, restliches Wort in Großbuchstaben&quot; so sehr leistungsfähig suchen lassen, wenn Du erst mal nicht weißt wie die Konstanten genau heißen.</p>
<p>Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1789009</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1789009</guid><dc:creator><![CDATA[Mmacher]]></dc:creator><pubDate>Wed, 07 Oct 2009 07:18:36 GMT</pubDate></item><item><title><![CDATA[Reply to Enum wird vom Compiler angemeckert .... on Wed, 07 Oct 2009 17:23:55 GMT]]></title><description><![CDATA[<p>Mmacher schrieb:</p>
<blockquote>
<p>ABER: Wenn Du ein Projekt vorgesetzt bekommst oder nach Jahren etwas weiterpflegen mußt, kannst Du in ihm mit &quot;Find in files&quot; oder &quot;grep&quot; oder &quot;Dateien suchen&quot; in Total Commander dann gezielt nach den Vorkommen von solchen numerischen Konstanten suchen und Dir den ersten Überblick verschaffen.<br />
Mit regular Expressions kannst Du mit dem Muster &quot;N Großbuchstabe am Wortanfang, restliches Wort in Großbuchstaben&quot; so sehr leistungsfähig suchen lassen, wenn Du erst mal nicht weißt wie die Konstanten genau heißen.</p>
</blockquote>
<p>Das kann ich nicht ganz nachvollziehen. Wenn du etwas in einer Datei suchst, dann gehst du doch wohl zuerst mal in der Klassen Definition schauen, oder? Und irgendwelche Konstanten kann/sollte man imo irgendwo mehr oder weniger lokal zur Verfügung stellen, anstatt die alle zu verteilen.</p>
<p>Die Diskussion über ungarische Notation hatten wir hier schon zu Hauf. Ich/viele andere finden die in modernem Code nicht nötig/unsinnig, aber darauf will ich jetzt gar nicht raus, sondern mehr, wo du genau das Problem siehst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1789339</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1789339</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 07 Oct 2009 17:23:55 GMT</pubDate></item></channel></rss>