<?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[Methodenaufruf mit nur bestimmten Argumenten erlauben]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich bin z.Z. am Verzweifeln und hoffe jemand kann mir helfen.</p>
<p>Ich möchte gerne eine Methode schreiben, die nur gewisse Parameter zulässt. Falls ein nicht-zulässiger Parameterwert mitgegeben wird, so soll bereits der Compiler einen Fehler ausspucken.</p>
<pre><code class="language-cpp">void foo(int args);
</code></pre>
<p>als Argumente wären z.b. die int-Konstanten VALUE_1, VALUE_2 gültig. Wie kann ich das nun machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/119826/methodenaufruf-mit-nur-bestimmten-argumenten-erlauben</link><generator>RSS for Node</generator><lastBuildDate>Sat, 22 Aug 2026 03:21:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/119826.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 06 Sep 2005 07:10:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Methodenaufruf mit nur bestimmten Argumenten erlauben on Tue, 06 Sep 2005 07:10:17 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich bin z.Z. am Verzweifeln und hoffe jemand kann mir helfen.</p>
<p>Ich möchte gerne eine Methode schreiben, die nur gewisse Parameter zulässt. Falls ein nicht-zulässiger Parameterwert mitgegeben wird, so soll bereits der Compiler einen Fehler ausspucken.</p>
<pre><code class="language-cpp">void foo(int args);
</code></pre>
<p>als Argumente wären z.b. die int-Konstanten VALUE_1, VALUE_2 gültig. Wie kann ich das nun machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/865893</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/865893</guid><dc:creator><![CDATA[sky21]]></dc:creator><pubDate>Tue, 06 Sep 2005 07:10:17 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf mit nur bestimmten Argumenten erlauben on Tue, 06 Sep 2005 07:12:28 GMT]]></title><description><![CDATA[<p>benutz doch ein enum <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/865896</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/865896</guid><dc:creator><![CDATA[otze]]></dc:creator><pubDate>Tue, 06 Sep 2005 07:12:28 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf mit nur bestimmten Argumenten erlauben on Tue, 06 Sep 2005 08:01:26 GMT]]></title><description><![CDATA[<p>otze schrieb:</p>
<blockquote>
<p>benutz doch ein enum <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>
</blockquote>
<p>Aja die Enummerations. Danke für den Tipp. Dennoch, ich habe echt mühe bei der Anwendung. Hoffe ich mache es so richtig...</p>
<pre><code class="language-cpp">//headerfile 'id.h'
 enum ENUM_FARBE { ROT, BLAU, GRUEN};
</code></pre>
<pre><code class="language-cpp">// deklaration
 void Hello::foo(int iFarbe);
</code></pre>
<pre><code class="language-cpp">// anwendung
 #include &quot;id.h&quot;
 Hello h;
 h.foo(ENUM_FARBE::BLAU); // 'BLAU' kennt er nicht
 h.foo(ENUM_FARBE(BLAU)); // ok
</code></pre>
<p>das Problem ist aber immer noch, dass man bei foo immer noch einen beliebigen int-Wert, anstatt ENUM_FARBE übergeben kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/865928</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/865928</guid><dc:creator><![CDATA[sky21]]></dc:creator><pubDate>Tue, 06 Sep 2005 08:01:26 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf mit nur bestimmten Argumenten erlauben on Tue, 06 Sep 2005 08:05:26 GMT]]></title><description><![CDATA[<p>ah ich denke ich habs:</p>
<pre><code class="language-cpp">void foo(enum ENUM_FARBE value);
</code></pre>
<pre><code class="language-cpp">void Hello:foo(enum ENUM_FARBE value){
 int i = value;
}
</code></pre>
<p>richtig <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /> <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="😕"
    /> <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/865932</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/865932</guid><dc:creator><![CDATA[sky21]]></dc:creator><pubDate>Tue, 06 Sep 2005 08:05:26 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf mit nur bestimmten Argumenten erlauben on Tue, 06 Sep 2005 08:06:45 GMT]]></title><description><![CDATA[<p>als argument solltest du auch kein int annehmen sondern das enum<br />
schöner wäre sowas</p>
<pre><code class="language-cpp">struct Foo
{
    enum FARBE { ROT, BLAU, GRUEN };

    void Bar(FARBE e)
    { }
};

int main()
{
    Foo f;
    f.Bar(Foo::BLAU);
}
</code></pre>
<p>[edit]<br />
zu langsam <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="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/865933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/865933</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Tue, 06 Sep 2005 08:06:45 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf mit nur bestimmten Argumenten erlauben on Tue, 06 Sep 2005 08:23:17 GMT]]></title><description><![CDATA[<p>das sowas nicht geht finde ich schade:</p>
<pre><code class="language-cpp">enum FARBE { ROT, BLAU, GRUEN };
void Foo( FARBE f );
...
Foo( FARBE.ROT ); // &lt;--
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/865941</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/865941</guid><dc:creator><![CDATA[Airdamn]]></dc:creator><pubDate>Tue, 06 Sep 2005 08:23:17 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf mit nur bestimmten Argumenten erlauben on Tue, 06 Sep 2005 08:27:31 GMT]]></title><description><![CDATA[<p>Hallo und danke für das Codeschnipsel. Habe nun versucht, dieses auf mein Projekt anzuwenden, doch es geht leider nicht:</p>
<p>headerfile mit dem enum:</p>
<pre><code class="language-cpp">#ifndef _ENUMH_
#define _ENUMH_

  enum FARBE {ROT, BLAU};

#endif;
</code></pre>
<p>Klasse mit Methodendeklaration</p>
<pre><code class="language-cpp">#include &quot;enums.h&quot;  // damit foo 'FARBE' kennt
 void foo(FARBE e);
</code></pre>
<p>Anwendung:</p>
<pre><code class="language-cpp">#include &quot;enums.h&quot;
 void Usage::dou(){
  MyClass mc;
  mc.foo( FARBE::ROT);  // FEHLER: 'ROT' ist kein Element von FARBE
 }
</code></pre>
<p>Was soll das nun wieder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/865943</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/865943</guid><dc:creator><![CDATA[sky21]]></dc:creator><pubDate>Tue, 06 Sep 2005 08:27:31 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf mit nur bestimmten Argumenten erlauben on Tue, 06 Sep 2005 08:29:11 GMT]]></title><description><![CDATA[<p>Sprech es einfach mit ROT an und lass das FARBE:: weg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/865944</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/865944</guid><dc:creator><![CDATA[hehejo]]></dc:creator><pubDate>Tue, 06 Sep 2005 08:29:11 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf mit nur bestimmten Argumenten erlauben on Tue, 06 Sep 2005 08:32:26 GMT]]></title><description><![CDATA[<p>hehejo schrieb:</p>
<blockquote>
<p>Sprech es einfach mit ROT an und lass das FARBE:: weg.</p>
</blockquote>
<p>You're my new God. Thanks man.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/865947</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/865947</guid><dc:creator><![CDATA[sky21]]></dc:creator><pubDate>Tue, 06 Sep 2005 08:32:26 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf mit nur bestimmten Argumenten erlauben on Tue, 06 Sep 2005 08:33:00 GMT]]></title><description><![CDATA[<p>miller_m schrieb:</p>
<blockquote>
<p>schöner wäre sowas</p>
<pre><code class="language-cpp">struct Foo
{
    enum FARBE { ROT, BLAU, GRUEN };

    void Bar(FARBE e)
    { }
};

int main()
{
    Foo f;
    f.Bar(Foo::BLAU);
}
</code></pre>
</blockquote>
<p>Oder gleich noch den operator () überladen</p>
<pre><code class="language-cpp">struct foo {
  enum FARBE {ROT, BLAU, GRUEN};
  void operator()  (FARBE e)  {
    /* .. */
  }
};

int main() {
  foo f;
  f(foo::BLAU);
  return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/865949</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/865949</guid><dc:creator><![CDATA[hehejo]]></dc:creator><pubDate>Tue, 06 Sep 2005 08:33:00 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf mit nur bestimmten Argumenten erlauben on Tue, 06 Sep 2005 09:59:33 GMT]]></title><description><![CDATA[<p>Würd ich nicht machen wenns nicht unbedingt sein muss.</p>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/866053</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/866053</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Tue, 06 Sep 2005 09:59:33 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf mit nur bestimmten Argumenten erlauben on Tue, 06 Sep 2005 12:03:37 GMT]]></title><description><![CDATA[<p>SideWinder schrieb:</p>
<blockquote>
<p>Würd ich nicht machen wenns nicht unbedingt sein muss.</p>
</blockquote>
<p>Warum denn nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/866157</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/866157</guid><dc:creator><![CDATA[hehejo]]></dc:creator><pubDate>Tue, 06 Sep 2005 12:03:37 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf mit nur bestimmten Argumenten erlauben on Tue, 06 Sep 2005 12:04:59 GMT]]></title><description><![CDATA[<p>Weil der op() nicht dazu da ist die jeweils meistgenutzte Methode zu ersetzen.</p>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/866160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/866160</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Tue, 06 Sep 2005 12:04:59 GMT</pubDate></item></channel></rss>