<?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 und negative Werte]]></title><description><![CDATA[<p>Wenn ich einen enum mit negativen Werten definiere erhalte ich keinen Compilerfehler.</p>
<pre><code class="language-cpp">enum MeinEnum
{
	WertMEins	= -1,
	WertEins	= 1,
	WertZwei	= 2,
	WertDrei	= 3,
};

MeinEnum me1 = (MeinEnum)1;
MeinEnum me2 = (MeinEnum)2;
MeinEnum me3 = (MeinEnum)3;
MeinEnum me4 = (MeinEnum)4;
MeinEnum me  = (MeinEnum)-1;
</code></pre>
<p>Wenn ich nun Debugge steht in</p>
<p>-&gt; me1 der Wert: Wert1<br />
-&gt; me2 der Wert: Wert2<br />
-&gt; me3 der Wert: Wert3<br />
-&gt; me4 der Wert: 4 -&gt;logisch ist ja auch nicht im enum drin<br />
-&gt; me der Wert: -1 -&gt;widerum nicht logisch. Ist ja im enum drin.</p>
<p>Wieso ist das so. Dachte enum kann auch negative Zahlen aufnehmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/303263/enum-und-negative-werte</link><generator>RSS for Node</generator><lastBuildDate>Mon, 10 Aug 2026 14:46:13 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/303263.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 09 May 2012 12:12:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to enum und negative Werte on Wed, 09 May 2012 12:12:42 GMT]]></title><description><![CDATA[<p>Wenn ich einen enum mit negativen Werten definiere erhalte ich keinen Compilerfehler.</p>
<pre><code class="language-cpp">enum MeinEnum
{
	WertMEins	= -1,
	WertEins	= 1,
	WertZwei	= 2,
	WertDrei	= 3,
};

MeinEnum me1 = (MeinEnum)1;
MeinEnum me2 = (MeinEnum)2;
MeinEnum me3 = (MeinEnum)3;
MeinEnum me4 = (MeinEnum)4;
MeinEnum me  = (MeinEnum)-1;
</code></pre>
<p>Wenn ich nun Debugge steht in</p>
<p>-&gt; me1 der Wert: Wert1<br />
-&gt; me2 der Wert: Wert2<br />
-&gt; me3 der Wert: Wert3<br />
-&gt; me4 der Wert: 4 -&gt;logisch ist ja auch nicht im enum drin<br />
-&gt; me der Wert: -1 -&gt;widerum nicht logisch. Ist ja im enum drin.</p>
<p>Wieso ist das so. Dachte enum kann auch negative Zahlen aufnehmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2209817</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2209817</guid><dc:creator><![CDATA[y-vonne]]></dc:creator><pubDate>Wed, 09 May 2012 12:12:42 GMT</pubDate></item><item><title><![CDATA[Reply to enum und negative Werte on Wed, 09 May 2012 12:53:23 GMT]]></title><description><![CDATA[<p>Das kann dein Debugger halt nicht besser, weiter ist da nichts dabei.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2209827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2209827</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Wed, 09 May 2012 12:53:23 GMT</pubDate></item><item><title><![CDATA[Reply to enum und negative Werte on Wed, 09 May 2012 13:30:56 GMT]]></title><description><![CDATA[<p>y-vonne schrieb:</p>
<blockquote>
<p>Wieso ist das so. Dachte enum kann auch negative Zahlen aufnehmen.</p>
</blockquote>
<p>Kann es auch, wenn <code>std::underlying_type&lt;MeinEnum&gt;::type</code> ein vorzeichenbehafteter Skalar ist...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2209850</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2209850</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 09 May 2012 13:30:56 GMT</pubDate></item><item><title><![CDATA[Reply to enum und negative Werte on Thu, 10 May 2012 06:43:10 GMT]]></title><description><![CDATA[<p>Ok. Und die Frage nun, wie kann ich ganz einfach prüfen ob ein Wert im enum vorhanden ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210058</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210058</guid><dc:creator><![CDATA[y-vonne]]></dc:creator><pubDate>Thu, 10 May 2012 06:43:10 GMT</pubDate></item><item><title><![CDATA[Reply to enum und negative Werte on Thu, 10 May 2012 08:07:46 GMT]]></title><description><![CDATA[<p>y-vonne schrieb:</p>
<blockquote>
<p>Und die Frage nun, wie kann ich ganz einfach prüfen ob ein Wert im enum vorhanden ist.</p>
</blockquote>
<p>Überleg dir was. Irgendwas eingebautes automatisches gibt es nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210074</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Thu, 10 May 2012 08:07:46 GMT</pubDate></item><item><title><![CDATA[Reply to enum und negative Werte on Thu, 10 May 2012 08:10:31 GMT]]></title><description><![CDATA[<p>OK</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210075</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210075</guid><dc:creator><![CDATA[y-vonne]]></dc:creator><pubDate>Thu, 10 May 2012 08:10:31 GMT</pubDate></item><item><title><![CDATA[Reply to enum und negative Werte on Thu, 10 May 2012 09:17:45 GMT]]></title><description><![CDATA[<p>Bashar schrieb:</p>
<blockquote>
<p>y-vonne schrieb:</p>
<blockquote>
<p>Und die Frage nun, wie kann ich ganz einfach prüfen ob ein Wert im enum vorhanden ist.</p>
</blockquote>
<p>Überleg dir was. Irgendwas eingebautes automatisches gibt es nicht.</p>
</blockquote>
<p>Wenn Du den Enum selbst definierst, kannst Du Dir auch 'Markierungen' setzen:</p>
<pre><code class="language-cpp">enum MeinEnum
{
    WertMEins   = -1,
    WertEins    = 1,
    WertZwei    = 2,
    WertDrei    = 3,
    Max,
    Min = WertMEins
};
</code></pre>
<p>Damit kannste ganz bequem schauen, ob ein Wert in [Min, Max) liegt. Wenn die Werte von MeinEnum allerdings Lücken aufweisen ist dieses Wissen leider nur halb so wertvoll.</p>
<p>Max kann dann darüberhinaus auch einen &quot;ungültigen&quot; Enum darstellen, á la:</p>
<pre><code class="language-cpp">MeinEnum me;
...
if (me == Max)
  raise_invalid_mein_enum_error();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2210092</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210092</guid><dc:creator><![CDATA[Max und Min]]></dc:creator><pubDate>Thu, 10 May 2012 09:17:45 GMT</pubDate></item><item><title><![CDATA[Reply to enum und negative Werte on Thu, 10 May 2012 12:39:55 GMT]]></title><description><![CDATA[<p>Zum Aspekt Sicherheit: In C++11 gibt es jetzt das hier:</p>
<pre><code class="language-cpp">enum class myEnum {...};
</code></pre>
<p>Google &quot;Strongly-typed Enumerations&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210160</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 10 May 2012 12:39:55 GMT</pubDate></item><item><title><![CDATA[Reply to enum und negative Werte on Thu, 10 May 2012 17:16:58 GMT]]></title><description><![CDATA[<p>Hacker schrieb:</p>
<blockquote>
<p>Zum Aspekt Sicherheit: In C++11 gibt es jetzt das hier:</p>
<pre><code class="language-cpp">enum class myEnum {...};
</code></pre>
<p>Google &quot;Strongly-typed Enumerations&quot;.</p>
</blockquote>
<p>super - damit kann man jetzt natürlich gucken, ob ein wert ein äquivalent im enum hat. oh wait...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210251</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210251</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Thu, 10 May 2012 17:16:58 GMT</pubDate></item><item><title><![CDATA[Reply to enum und negative Werte on Thu, 10 May 2012 17:31:41 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p>Hacker schrieb:</p>
<blockquote>
<p>Zum Aspekt Sicherheit: In C++11 gibt es jetzt das hier:</p>
<pre><code class="language-cpp">enum class myEnum {...};
</code></pre>
<p>Google &quot;Strongly-typed Enumerations&quot;.</p>
</blockquote>
<p>super - damit kann man jetzt natürlich gucken, ob ein wert ein äquivalent im enum hat. oh wait...</p>
</blockquote>
<p>-.-<br />
Damit kann ein Wert nicht mehr kein äquivalent im Enum haben (weißt du überhaupt, was das ist?), außer man macht explizite Casts (die ich so nie machen würde).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210257</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210257</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 10 May 2012 17:31:41 GMT</pubDate></item><item><title><![CDATA[Reply to enum und negative Werte on Thu, 10 May 2012 17:47:09 GMT]]></title><description><![CDATA[<p>Hacker schrieb:</p>
<blockquote>
<p>-.-<br />
Damit kann ein Wert nicht mehr kein äquivalent im Enum haben (weißt du überhaupt, was das ist?), außer man macht explizite Casts (die ich so nie machen würde).</p>
</blockquote>
<p>Das ist zwar richtig, aber nicht unbedingt für die Problemstellung zielführend. Die Casts können sinnvoll sein, wenn man verschiedene Bitflags abbilden möchte. In diesem Fall kann man die Bitoperatoren für das enum implementieren, welche intern casten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210266</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210266</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Thu, 10 May 2012 17:47:09 GMT</pubDate></item><item><title><![CDATA[Reply to enum und negative Werte on Thu, 10 May 2012 17:57:15 GMT]]></title><description><![CDATA[<p>Hacker schrieb:</p>
<blockquote>
<p>Damit kann ein Wert nicht mehr kein äquivalent im Enum haben (weißt du überhaupt, was das ist?), außer man macht explizite Casts (die ich so nie machen würde).</p>
</blockquote>
<p>offenbar geht es dem TE darum - denn sonst bräuchte er diese information nicht. (und anwendungsgebiete gibt es da durchaus. z.bsp. alles, was mit serialisierung zu tun hat)<br />
wie wärs, wenn du nur in threads postest, in denen du was von interesse posten könntest? mittlerweile mache ich jeden thread mit nem kommentar von dir einfach wieder zu - entweder, du sagst was unpassendes, was falsches oder versuchst irgendwie, deine falsche aussage schön zu reden, wenn es jmd angesprochen hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210269</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210269</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Thu, 10 May 2012 17:57:15 GMT</pubDate></item></channel></rss>