<?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[Übersichtlichere Enums]]></title><description><![CDATA[<p>Hallo,</p>
<p>mich stört an den C++ Enmus, dass die Werte alle im globalen Namespace liegen. Also wenn ich ein enum Format { LEFT, RIGHT }; habe, dann kann ich ja schreiben<br />
Format foo = LEFT; Nur besteht bei dem LEFT überhaupt kein Bezug mehr zu Format. Ich würde gerne eine Art enum wie in C# haben, wo man sowas schreibt:<br />
Format foo = Format.LEFT;</p>
<p>Wie setzt man das am besten in C++ um?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/190784/übersichtlichere-enums</link><generator>RSS for Node</generator><lastBuildDate>Sat, 26 Sep 2026 00:17:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/190784.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 26 Aug 2007 22:04:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Übersichtlichere Enums on Sun, 26 Aug 2007 22:04:41 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>mich stört an den C++ Enmus, dass die Werte alle im globalen Namespace liegen. Also wenn ich ein enum Format { LEFT, RIGHT }; habe, dann kann ich ja schreiben<br />
Format foo = LEFT; Nur besteht bei dem LEFT überhaupt kein Bezug mehr zu Format. Ich würde gerne eine Art enum wie in C# haben, wo man sowas schreibt:<br />
Format foo = Format.LEFT;</p>
<p>Wie setzt man das am besten in C++ um?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1352649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352649</guid><dc:creator><![CDATA[Enummer]]></dc:creator><pubDate>Sun, 26 Aug 2007 22:04:41 GMT</pubDate></item><item><title><![CDATA[Reply to Übersichtlichere Enums on Sun, 26 Aug 2007 22:12:36 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">namespace Format 
{
   enum format { ... };
}

...

Benutzung:
if(bla == Format::BLA)
    ...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1352652</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352652</guid><dc:creator><![CDATA[The-Kenny]]></dc:creator><pubDate>Sun, 26 Aug 2007 22:12:36 GMT</pubDate></item><item><title><![CDATA[Reply to Übersichtlichere Enums on Sun, 26 Aug 2007 22:21:36 GMT]]></title><description><![CDATA[<p>Missbrauche ich da nicht das Konzept von Namespaces?<br />
In meinem Projekt hab ich einen &quot;Ober&quot;-Namespace (nennen wir ihn mal ProjectNS) und darunter mehrere zur feineren Unterteilung (z.B: Util). Eine Klasse heißt beispielsweise ProjectNS::Util::Text2D und ne andre ProjectNS::Input::Keyboard.<br />
Wäre es da nicht vom Design mies &quot;künstliche&quot; neue Namespaces einzufügen, nur um die Enums besser nutzen zu können?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1352656</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352656</guid><dc:creator><![CDATA[Enummer]]></dc:creator><pubDate>Sun, 26 Aug 2007 22:21:36 GMT</pubDate></item><item><title><![CDATA[Reply to Übersichtlichere Enums on Sun, 26 Aug 2007 22:53:57 GMT]]></title><description><![CDATA[<p>evtl</p>
<pre><code class="language-cpp">struct Format
{
    enum { LEFT, RIGHT }
};
</code></pre>
<p>?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1352658</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352658</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Sun, 26 Aug 2007 22:53:57 GMT</pubDate></item><item><title><![CDATA[Reply to Übersichtlichere Enums on Sun, 26 Aug 2007 22:59:34 GMT]]></title><description><![CDATA[<p>Jo, das sieht gut aus.</p>
<p>Eine kleine Zusatzfrage:<br />
Wieso meckert der Compiler hier bei der Deklaration von method?</p>
<pre><code class="language-cpp">class Foo {
public:
   enum bar { left, right };
   void method(Foo::bar var);
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1352659</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352659</guid><dc:creator><![CDATA[Enummer]]></dc:creator><pubDate>Sun, 26 Aug 2007 22:59:34 GMT</pubDate></item><item><title><![CDATA[Reply to Übersichtlichere Enums on Sun, 26 Aug 2007 23:54:00 GMT]]></title><description><![CDATA[<p>Hm bei meinem VC++ 2003 gehts locker durch <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="😕"
    /> Was sagt er denn?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1352664</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352664</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Sun, 26 Aug 2007 23:54:00 GMT</pubDate></item><item><title><![CDATA[Reply to Übersichtlichere Enums on Mon, 27 Aug 2007 01:29:28 GMT]]></title><description><![CDATA[<p>Bei diesem Code:</p>
<pre><code class="language-cpp">class Foo {
public:
	void method(Foo::Bar f) { }
	enum Bar { blau, rot};
};
</code></pre>
<p>krieg ich diesen Fehler:</p>
<blockquote>
<p>Fehler 1 error C2061: Syntaxfehler: Bezeichner 'Bar' e:\programmieren\c++\directx 9\alpha framework v9\main.cpp 24</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1352675</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352675</guid><dc:creator><![CDATA[Enummer]]></dc:creator><pubDate>Mon, 27 Aug 2007 01:29:28 GMT</pubDate></item><item><title><![CDATA[Reply to Übersichtlichere Enums on Mon, 27 Aug 2007 08:41:41 GMT]]></title><description><![CDATA[<p>Vielleicht reicht schon das vertauschen der beiden Zeilen, sonst ist Foo::Bar noch nicht bekannt in der Methode.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1352757</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352757</guid><dc:creator><![CDATA[KPC]]></dc:creator><pubDate>Mon, 27 Aug 2007 08:41:41 GMT</pubDate></item><item><title><![CDATA[Reply to Übersichtlichere Enums on Mon, 27 Aug 2007 09:33:12 GMT]]></title><description><![CDATA[<p>KPC schrieb:</p>
<blockquote>
<p>Vielleicht reicht schon das vertauschen der beiden Zeilen, sonst ist Foo::Bar noch nicht bekannt in der Methode.</p>
</blockquote>
<p>Zumindest beim VC2005 ist das der Fall.</p>
<p>Alternativ (kenne ich von einem Problem mit einem alten Compiler):<br />
In der Deklaration der Methode Foo::Bar durch Bar ersetzen (in der Definition aber vollständig angeben).</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1352800</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352800</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Mon, 27 Aug 2007 09:33:12 GMT</pubDate></item><item><title><![CDATA[Reply to Übersichtlichere Enums on Mon, 03 Sep 2007 17:04:15 GMT]]></title><description><![CDATA[<p>Warum ist denn das enum so schlecht? Warum ist es nicht gleich so wie der Threadersteller (und ich) es uns wünschen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1358147</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1358147</guid><dc:creator><![CDATA[enumhasser]]></dc:creator><pubDate>Mon, 03 Sep 2007 17:04:15 GMT</pubDate></item></channel></rss>