<?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 bei Constructor einer Klasse]]></title><description><![CDATA[<p>Hi Forum,</p>
<p>Mal wieder bracuhe ich eure Hilfe :). Bei folgendem Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
class Color {
  public:
    unsigned char R, G, B, A;
    Color(unsigned char prmR, unsigned char prmG, unsigned char prmB, unsigned char prmA)
    : R(prmR), G(prmG), B(prmB), A(prmA) {
    }
};

int main(int argc, char* argv[]) {
  Color MyColor();
  std::cout &lt;&lt; &quot;r: &quot; &lt;&lt; (int)MyColor.R &lt;&lt; std::endl
            &lt;&lt; &quot;g: &quot; &lt;&lt; (int)MyColor.G &lt;&lt; std::endl
            &lt;&lt; &quot;b: &quot; &lt;&lt; (int)MyColor.B &lt;&lt; std::endl
            &lt;&lt; &quot;a: &quot; &lt;&lt; (int)MyColor.A &lt;&lt; std::endl;

  return 0;
}
</code></pre>
<p>bekomme ich die Fehlermeldung:<br />
error: request for member &quot;R&quot; in &quot;MyColor&quot;, which is of non-class type 'Color ()()'<br />
error: request for member &quot;G&quot; in &quot;MyColor&quot;, which is of non-class type 'Color ()()'<br />
error: request for member &quot;B&quot; in &quot;MyColor&quot;, which is of non-class type 'Color ()()'<br />
error: request for member &quot;A&quot; in &quot;MyColor&quot;, which is of non-class type 'Color ()()'</p>
<p>Warum zur Hölle meint der MyColor wäre von einem Typ der keine Classe ist? Hilft mir da jemand weiter?</p>
<p>Mfg X4rd3n</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/223549/problem-bei-constructor-einer-klasse</link><generator>RSS for Node</generator><lastBuildDate>Sat, 03 Oct 2026 20:15:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/223549.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 27 Sep 2008 12:37:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem bei Constructor einer Klasse on Sat, 27 Sep 2008 12:37:56 GMT]]></title><description><![CDATA[<p>Hi Forum,</p>
<p>Mal wieder bracuhe ich eure Hilfe :). Bei folgendem Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
class Color {
  public:
    unsigned char R, G, B, A;
    Color(unsigned char prmR, unsigned char prmG, unsigned char prmB, unsigned char prmA)
    : R(prmR), G(prmG), B(prmB), A(prmA) {
    }
};

int main(int argc, char* argv[]) {
  Color MyColor();
  std::cout &lt;&lt; &quot;r: &quot; &lt;&lt; (int)MyColor.R &lt;&lt; std::endl
            &lt;&lt; &quot;g: &quot; &lt;&lt; (int)MyColor.G &lt;&lt; std::endl
            &lt;&lt; &quot;b: &quot; &lt;&lt; (int)MyColor.B &lt;&lt; std::endl
            &lt;&lt; &quot;a: &quot; &lt;&lt; (int)MyColor.A &lt;&lt; std::endl;

  return 0;
}
</code></pre>
<p>bekomme ich die Fehlermeldung:<br />
error: request for member &quot;R&quot; in &quot;MyColor&quot;, which is of non-class type 'Color ()()'<br />
error: request for member &quot;G&quot; in &quot;MyColor&quot;, which is of non-class type 'Color ()()'<br />
error: request for member &quot;B&quot; in &quot;MyColor&quot;, which is of non-class type 'Color ()()'<br />
error: request for member &quot;A&quot; in &quot;MyColor&quot;, which is of non-class type 'Color ()()'</p>
<p>Warum zur Hölle meint der MyColor wäre von einem Typ der keine Classe ist? Hilft mir da jemand weiter?</p>
<p>Mfg X4rd3n</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1589032</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1589032</guid><dc:creator><![CDATA[x4rd3n]]></dc:creator><pubDate>Sat, 27 Sep 2008 12:37:56 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Constructor einer Klasse on Sat, 27 Sep 2008 12:41:32 GMT]]></title><description><![CDATA[<p>da du den standart konstruktor benutzt lässt die die klammern bei der erzeugung weg</p>
<pre><code class="language-cpp">Color MyColor;
</code></pre>
<p>reicht</p>
<p>und du solltest die werte wenigstens initialisieren<br />
wenn du schon nicht den konstruktor aufrufst den du da geschrieben hast dann machd as wenigstens per default werte</p>
<pre><code class="language-cpp">class Color {
public:
   unsigned char A, B, C, D;
   Color(unsigned char prmR = 0, unsigned char prmG = 0, unsigned char prmB = 0, unsigned char prmA = 0)
    : R(prmR), G(prmG), B(prmB), A(prmA) 
    { }
};
</code></pre>
<p>so sollte das dann klappen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1589035</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1589035</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Sat, 27 Sep 2008 12:41:32 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Constructor einer Klasse on Sat, 27 Sep 2008 12:45:19 GMT]]></title><description><![CDATA[<p>Normalerweise sidn die auch initialisiert :). Hab die Funktionsdeklaration nur in einer Headerdatei stehen und hab jetzt versucht den Code soweit zu verkürzen wie es geht und dabei die Default-Angaben aus der Headerdatei vergessen. Naja auf jedenfall mal Danke, ohne Klammern am Ende gehts.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1589037</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1589037</guid><dc:creator><![CDATA[x4rd3n]]></dc:creator><pubDate>Sat, 27 Sep 2008 12:45:19 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Constructor einer Klasse on Sat, 27 Sep 2008 12:51:14 GMT]]></title><description><![CDATA[<p>x4rd3n schrieb:</p>
<blockquote>
<p>Naja auf jedenfall mal Danke, ohne Klammern am Ende gehts.</p>
</blockquote>
<p>Vielleicht noch zur Erklärung wieso:</p>
<pre><code class="language-cpp">Color MyColor(); // Das ist eine Funktionsdeklaration!
Color MyColor; // Defaultkonstruktor Aufruf
Color MyColor = Color(); // Ebenfalls Defaultkonstrutor
</code></pre>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1589043</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1589043</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sat, 27 Sep 2008 12:51:14 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Constructor einer Klasse on Sat, 27 Sep 2008 12:52:23 GMT]]></title><description><![CDATA[<p>Weisst du auch warum? <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="😉"
    /></p>
<p><code>Color MyColor();</code> wird nicht als Instanziierung, sondern als Funktionsdeklaration angesehen. Wie sollte man sonst eine Funktion mit 0 Parametern und dem Rückgabetypen <code>Color</code> deklarieren können?</p>
<p>Ach ja, benutz bitte anstatt der C-Casts mit Klammern das C++-Mittel <code>static_cast</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1589045</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1589045</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 27 Sep 2008 12:52:23 GMT</pubDate></item></channel></rss>