<?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[User Defined enum in vector]]></title><description><![CDATA[<p>Abend!</p>
<p>Ich habe eine Klasse mit einem Vektor von enums:</p>
<pre><code class="language-cpp">class Foo {
private:

   std::vector&lt;MyEnum&gt; values;

};
</code></pre>
<p>Die Klasse Foo wird Teil einer Bibliothek. Das Problem ist nun, dass Benutzer der Lib ihr eigenes enum MyEnum definieren sollen. Sprich die Nutzer legen ein enum an:</p>
<pre><code class="language-cpp">enum MeinEnum { }
</code></pre>
<p>und im vektor Foo::values sollen dann MeinEnum's drinliegen. Wie kann man sowas machen? <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="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/288598/user-defined-enum-in-vector</link><generator>RSS for Node</generator><lastBuildDate>Wed, 19 Aug 2026 22:00:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/288598.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 19 Jun 2011 19:25:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to User Defined enum in vector on Sun, 19 Jun 2011 19:25:04 GMT]]></title><description><![CDATA[<p>Abend!</p>
<p>Ich habe eine Klasse mit einem Vektor von enums:</p>
<pre><code class="language-cpp">class Foo {
private:

   std::vector&lt;MyEnum&gt; values;

};
</code></pre>
<p>Die Klasse Foo wird Teil einer Bibliothek. Das Problem ist nun, dass Benutzer der Lib ihr eigenes enum MyEnum definieren sollen. Sprich die Nutzer legen ein enum an:</p>
<pre><code class="language-cpp">enum MeinEnum { }
</code></pre>
<p>und im vektor Foo::values sollen dann MeinEnum's drinliegen. Wie kann man sowas machen? <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="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2080787</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2080787</guid><dc:creator><![CDATA[Baumschachtel]]></dc:creator><pubDate>Sun, 19 Jun 2011 19:25:04 GMT</pubDate></item><item><title><![CDATA[Reply to User Defined enum in vector on Sun, 19 Jun 2011 19:29:15 GMT]]></title><description><![CDATA[<p>Mein erster Gedanke wäre es, das ganze als Template zu lösen. Aber dazu würde der Nutzer den Quelltext deiner Klasse benötigen.</p>
<p>Für weitere Vorschläge muß ich mal ein wenig nachfragen: Was ist der Sinn dieser Aktion? Und was will/soll deine Klasse mit den enum's machen können?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2080790</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2080790</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sun, 19 Jun 2011 19:29:15 GMT</pubDate></item><item><title><![CDATA[Reply to User Defined enum in vector on Sun, 19 Jun 2011 19:36:06 GMT]]></title><description><![CDATA[<p>Ist ein bißchen schwer zu erklären. Das wird ein Eingabesystem und der Benutzer meiner Lib soll Eingabe Enums definieren, z.B. für Aktionen:</p>
<pre><code class="language-cpp">enum ACTION {
   ACTION_MOVE_LEFT,
   ACTION_OPEN_DOOR

};
</code></pre>
<p>Es muss immer ein enum ACTION geben, nur die Werte sind abhängig vom konkreten Spiel. Meine Klasse Foo macht im Grunde garnichts mit den ACTION in dem vector. Die werden nur gespeichert und vergleicht.</p>
<p>Aber wie bringe ich User Defined Enums in meinen Foo Vektor? <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="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2080798</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2080798</guid><dc:creator><![CDATA[Baumschachtel]]></dc:creator><pubDate>Sun, 19 Jun 2011 19:36:06 GMT</pubDate></item><item><title><![CDATA[Reply to User Defined enum in vector on Sun, 19 Jun 2011 19:55:09 GMT]]></title><description><![CDATA[<p>Baumschachtel schrieb:</p>
<blockquote>
<p>Meine Klasse Foo macht im Grunde garnichts mit den ACTION in dem vector. Die werden nur gespeichert und vergleicht.</p>
</blockquote>
<p>Und wozu muß sie dann wissen, daß das ein enum ist? Ich bin immer noch für ein Template, aber da kommt sicher bald jemand mit der großen Design-Keule:</p>
<pre><code class="language-cpp">template&lt;typename ACTION&gt;
class Foo
{
  vector&lt;ACTION&gt; values;
  ...
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2080808</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2080808</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sun, 19 Jun 2011 19:55:09 GMT</pubDate></item><item><title><![CDATA[Reply to User Defined enum in vector on Sun, 19 Jun 2011 20:19:32 GMT]]></title><description><![CDATA[<p>Baumschachtel schrieb:</p>
<blockquote>
<p>Es muss immer ein enum ACTION geben, nur die Werte sind abhängig vom konkreten Spiel. Meine Klasse Foo macht im Grunde garnichts mit den ACTION in dem vector. Die werden nur gespeichert und vergleicht.</p>
</blockquote>
<p>Wenn das Enum <code>ACTION</code> und dessen Enumeratoren selbst irrelevant sind, könntest du ja auch <code>int</code> s abspeichern. Die beiden Typen sind kompatibel, in die eine Richtung ist allerdings ein Cast erforderlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2080820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2080820</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 19 Jun 2011 20:19:32 GMT</pubDate></item></channel></rss>