<?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[Problem mit enum - ungültige Umwandlung von &amp;quot;int&amp;quot;]]></title><description><![CDATA[<p>Ich habe hier Code den ich von Borland C++ nach GCC 4.3.3 portieren soll und bekomme beim Compilieren folgende Fehlermeldung:</p>
<pre><code>Fehler: ungültige Umwandlung von »int« in »BlubbLib::AttributeState«
</code></pre>
<p>Irgendwie stehe ich hier auf dem Schlauch... kann mir hier einer einen sachdienlichen Hinweis zu geben?</p>
<pre><code class="language-cpp">AttrData Data;
Data.State = stContinuous | stForcedContinuous | stChangeable;
</code></pre>
<pre><code class="language-cpp">struct AttrData
{
  ItemValue      *List;   
  size_t          Size;   
  ItemValue       Name;   
  AttributeState  State;
</code></pre>
<pre><code class="language-cpp">enum AttributeState
{
  stContinuous       = 0x01,      
  stForcedContinuous = 0x02,      
  stDiscrete         = 0x04,      
  stForcedDiscrete   = 0x08,      
  stChangeable       = 0x10,      
  stIgnore           = 0x20,      
  stClass            = 0x40       
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/240569/problem-mit-enum-ungültige-umwandlung-von-quot-int-quot</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 23:49:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/240569.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 08 May 2009 09:33:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit enum - ungültige Umwandlung von &amp;quot;int&amp;quot; on Fri, 08 May 2009 09:33:13 GMT]]></title><description><![CDATA[<p>Ich habe hier Code den ich von Borland C++ nach GCC 4.3.3 portieren soll und bekomme beim Compilieren folgende Fehlermeldung:</p>
<pre><code>Fehler: ungültige Umwandlung von »int« in »BlubbLib::AttributeState«
</code></pre>
<p>Irgendwie stehe ich hier auf dem Schlauch... kann mir hier einer einen sachdienlichen Hinweis zu geben?</p>
<pre><code class="language-cpp">AttrData Data;
Data.State = stContinuous | stForcedContinuous | stChangeable;
</code></pre>
<pre><code class="language-cpp">struct AttrData
{
  ItemValue      *List;   
  size_t          Size;   
  ItemValue       Name;   
  AttributeState  State;
</code></pre>
<pre><code class="language-cpp">enum AttributeState
{
  stContinuous       = 0x01,      
  stForcedContinuous = 0x02,      
  stDiscrete         = 0x04,      
  stForcedDiscrete   = 0x08,      
  stChangeable       = 0x10,      
  stIgnore           = 0x20,      
  stClass            = 0x40       
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1707613</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1707613</guid><dc:creator><![CDATA[Heimwerkerking]]></dc:creator><pubDate>Fri, 08 May 2009 09:33:13 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit enum - ungültige Umwandlung von &amp;quot;int&amp;quot; on Fri, 08 May 2009 09:35:40 GMT]]></title><description><![CDATA[<p>Wenn du die enums mit | verbindest erhälst du was was nicht mehr in deiner enum deklaration drinne ist ... Mach int draus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1707617</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1707617</guid><dc:creator><![CDATA[enumler]]></dc:creator><pubDate>Fri, 08 May 2009 09:35:40 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit enum - ungültige Umwandlung von &amp;quot;int&amp;quot; on Fri, 08 May 2009 09:37:02 GMT]]></title><description><![CDATA[<p>Heimwerkerking schrieb:</p>
<blockquote>
<p>Ich habe hier Code den ich von Borland C++ nach GCC 4.3.3 portieren soll und bekomme beim Compilieren folgende Fehlermeldung:</p>
<pre><code>Fehler: ungültige Umwandlung von »int« in »BlubbLib::AttributeState«
</code></pre>
</blockquote>
<p>Der auch vollkommen richtig ist. Ein enum lässt genau die Werte zu, die angegeben werden. Ändere AttrData.State testweise in einen int ab... Besser wäre aber eine typsichere Umsetzung.</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1707620</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1707620</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Fri, 08 May 2009 09:37:02 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit enum - ungültige Umwandlung von &amp;quot;int&amp;quot; on Fri, 08 May 2009 09:39:52 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">AttrData Data; 
Data.State = stContinuous | stForcedContinuous | stChangeable;
</code></pre>
<p>Bei dieser Bitoperation werden die Enum-Werte in Integer-Werte umgewandelt, da ein Enum-Wert keine Bitoperation versteht. Dies geschieht implizit. Das Resultat von diesen Operationen ist somit ein Integer-Wert, welcher dann wieder dem Enum-Wert zugeordnet werden soll.<br />
Mich erstaunt es ein wenig, dass dies ein Fehler gibt, bei mir resultiert dies meistens nur in eine Warnung. Am einfachsten definierst du <code>AttrData::State</code> als <code>int</code> . Der resultierende Wert kommt schliesslich gar nicht mehr im Enum vor.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1707622</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1707622</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Fri, 08 May 2009 09:39:52 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit enum - ungültige Umwandlung von &amp;quot;int&amp;quot; on Fri, 08 May 2009 09:40:05 GMT]]></title><description><![CDATA[<p>asc schrieb:</p>
<blockquote>
<p>Der auch vollkommen richtig ist. Ein enum lässt genau die Werte zu, die angegeben werden. Ändere AttrData.State testweise in einen int ab... Besser wäre aber eine typsichere Umsetzung.</p>
<p>cu André</p>
</blockquote>
<p>Und wie soll das typsicher aussehen? const int statt enum oder wie? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1707623</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1707623</guid><dc:creator><![CDATA[quarktasche]]></dc:creator><pubDate>Fri, 08 May 2009 09:40:05 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit enum - ungültige Umwandlung von &amp;quot;int&amp;quot; on Fri, 08 May 2009 09:44:26 GMT]]></title><description><![CDATA[<p>Hmmmm, danke erst mal.<br />
Ich frag mich dann nur wie konnte das vorher mit dem Borland Compiler compilieren...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1707627</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1707627</guid><dc:creator><![CDATA[Heimwerkerking]]></dc:creator><pubDate>Fri, 08 May 2009 09:44:26 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit enum - ungültige Umwandlung von &amp;quot;int&amp;quot; on Fri, 08 May 2009 09:47:33 GMT]]></title><description><![CDATA[<p>Heimwerkerking schrieb:</p>
<blockquote>
<p>Hmmmm, danke erst mal.<br />
Ich frag mich dann nur wie konnte das vorher mit dem Borland Compiler compilieren...</p>
</blockquote>
<p>Es gibt kein Gesetz, welches einem Kompiler vorschreibt, dass er sich genau gleich an den Standard halten muss, wie andere Kompiler <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="😉"
    /><br />
Zwischen den Kompilern gibt es oft Unterschiede, die meistens halten sich eigentlich nicht zu 100% an den Standard. Dies beweist schon nur das Fehlen von &quot;Export Templates&quot; bei den meisten Kompilern. Die Welt wäre wohl zu schön, wenn alle so brav wären <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1707630</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1707630</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Fri, 08 May 2009 09:47:33 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit enum - ungültige Umwandlung von &amp;quot;int&amp;quot; on Fri, 08 May 2009 09:50:11 GMT]]></title><description><![CDATA[<p>also wieder nur die blöde Compiler Falle...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1707633</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1707633</guid><dc:creator><![CDATA[Heimwerkerking]]></dc:creator><pubDate>Fri, 08 May 2009 09:50:11 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit enum - ungültige Umwandlung von &amp;quot;int&amp;quot; on Fri, 08 May 2009 10:05:09 GMT]]></title><description><![CDATA[<p>quarktasche schrieb:</p>
<blockquote>
<p>Und wie soll das typsicher aussehen? const int statt enum oder wie? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
</blockquote>
<p>Nein, beispielsweise über ein bitset, oder eine kleine Klasse die ähnlich wie ein int aufgebaut ist, aber grundsätzlich noch Wertebereiche prüft. Sofern der int-wert aber nicht von jeden geändert werden kann wäre der Aufwand vermutlich übertrieben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1707641</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1707641</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Fri, 08 May 2009 10:05:09 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit enum - ungültige Umwandlung von &amp;quot;int&amp;quot; on Fri, 08 May 2009 10:10:01 GMT]]></title><description><![CDATA[<p>Nett ist auch im VC bis 7.1 folgendes</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

int main()
{
  for( int i = 0; i &lt; 10; ++i )
     std::cout &lt;&lt; i &lt;&lt; std::endl;

  std::cout &lt;&lt; &quot;Jetz ist i = &quot; &lt;&lt; i &lt;&lt; std::endl;
}
</code></pre>
<p>In VC 8 kann man es noch einschalten (ANSI Erweiterung oder so ähnlich nennt sich das), beim aktuellsten weiß ich es nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1707646</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1707646</guid><dc:creator><![CDATA[Tippgeber]]></dc:creator><pubDate>Fri, 08 May 2009 10:10:01 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit enum - ungültige Umwandlung von &amp;quot;int&amp;quot; on Fri, 08 May 2009 10:14:30 GMT]]></title><description><![CDATA[<p>Tippgeber schrieb:</p>
<blockquote>
<p>Nett ist auch im VC bis 7.1 folgendes</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

int main()
{
  for( int i = 0; i &lt; 10; ++i )
     std::cout &lt;&lt; i &lt;&lt; std::endl;

  std::cout &lt;&lt; &quot;Jetz ist i = &quot; &lt;&lt; i &lt;&lt; std::endl;
}
</code></pre>
<p>In VC 8 kann man es noch einschalten (ANSI Erweiterung oder so ähnlich nennt sich das), beim aktuellsten weiß ich es nicht.</p>
</blockquote>
<p>Und was hat diese grauenhafte Eigenschaft mit diesem Thema zu tun?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1707650</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1707650</guid><dc:creator><![CDATA[===????====]]></dc:creator><pubDate>Fri, 08 May 2009 10:14:30 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit enum - ungültige Umwandlung von &amp;quot;int&amp;quot; on Fri, 08 May 2009 11:17:56 GMT]]></title><description><![CDATA[<p>Tippgeber schrieb:</p>
<blockquote>
<p>Nett ist auch im VC bis 7.1 folgendes</p>
</blockquote>
<p>Also nett mit Sicherheit nicht, und ich wüsste auch nicht das sich dieser Code noch im Visual Studio 2003+ kompilieren lassen würde (Ohne explizit die &quot;Spracherweiterungen&quot; zu aktivieren). Habe aber inzwischen weder den 2003 noch 2005 installiert (Und werde ich alleine zum Ausprobieren auch nicht machen).</p>
<p>Unter 2008 kompiliert dies ohne Änderungen an den Projekteinstellungen zum Glück nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1707699</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1707699</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Fri, 08 May 2009 11:17:56 GMT</pubDate></item></channel></rss>