<?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[[Erledigt]Mehrfachvererbung, Diamond-Problem]]></title><description><![CDATA[<p>Hi<br />
Ich habe mal wieder ein Problem. Ich möchte in einem Projekt Objekte durch Mehrfachvererbung aus anderen Zusammensetzten. Jetzt bekomme ich aber immer diese Fehlermeldung:</p>
<blockquote>
<p>error: request for member `higher' in `DObject', which is of non-class type <code>D ()()'| error: request for member \</code>Zeige' in `DObject', which is of non-class type `D ()()'|<br />
||=== Build finished: 2 errors, 0 warnings ===|</p>
</blockquote>
<p>Bei diesem Quellcode:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

class A
{
    public:

        A()
        {
            Nummer = 0;
        }

    protected:

        int Nummer;
};

class B : virtual public A
{
    public:

        void higher()
        {
            Nummer++;
        }
};

class C : virtual public A
{
    public:

        void lower()
        {
            Nummer--;
        }
};

class D: public B, public C
{
    public:

        D()
        {
            Nummer = 0;
        }

        void Zeige()
        {
            cout &lt;&lt; Nummer &lt;&lt; endl;
        }
};

int main()
{
    D DObject();

    DObject.higher();

    DObject.Zeige();

    return 0;
}
</code></pre>
<p>Ich benutze den GNU GCC Compiler. Was mache ich falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/262503/erledigt-mehrfachvererbung-diamond-problem</link><generator>RSS for Node</generator><lastBuildDate>Sun, 06 Sep 2026 15:24:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/262503.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 07 Mar 2010 13:05:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [Erledigt]Mehrfachvererbung, Diamond-Problem on Sun, 07 Mar 2010 13:08:07 GMT]]></title><description><![CDATA[<p>Hi<br />
Ich habe mal wieder ein Problem. Ich möchte in einem Projekt Objekte durch Mehrfachvererbung aus anderen Zusammensetzten. Jetzt bekomme ich aber immer diese Fehlermeldung:</p>
<blockquote>
<p>error: request for member `higher' in `DObject', which is of non-class type <code>D ()()'| error: request for member \</code>Zeige' in `DObject', which is of non-class type `D ()()'|<br />
||=== Build finished: 2 errors, 0 warnings ===|</p>
</blockquote>
<p>Bei diesem Quellcode:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

class A
{
    public:

        A()
        {
            Nummer = 0;
        }

    protected:

        int Nummer;
};

class B : virtual public A
{
    public:

        void higher()
        {
            Nummer++;
        }
};

class C : virtual public A
{
    public:

        void lower()
        {
            Nummer--;
        }
};

class D: public B, public C
{
    public:

        D()
        {
            Nummer = 0;
        }

        void Zeige()
        {
            cout &lt;&lt; Nummer &lt;&lt; endl;
        }
};

int main()
{
    D DObject();

    DObject.higher();

    DObject.Zeige();

    return 0;
}
</code></pre>
<p>Ich benutze den GNU GCC Compiler. Was mache ich falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1865442</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1865442</guid><dc:creator><![CDATA[halo]]></dc:creator><pubDate>Sun, 07 Mar 2010 13:08:07 GMT</pubDate></item><item><title><![CDATA[Reply to [Erledigt]Mehrfachvererbung, Diamond-Problem on Sun, 07 Mar 2010 13:07:18 GMT]]></title><description><![CDATA[<blockquote>
<pre><code class="language-cpp">D DObject();
</code></pre>
</blockquote>
<p>Da deklariest du keine Variable, sondern eine Funktion.</p>
<p>Ist prinzipiell das gleiche, wie das hier:</p>
<pre><code class="language-cpp">int foo ();
</code></pre>
<p>Was ja offensichtlich eine Funktionsdeklaration ist, somit ist das obige auch eine. Lass also die Klammern hinten weg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1865444</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1865444</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 07 Mar 2010 13:07:18 GMT</pubDate></item><item><title><![CDATA[Reply to [Erledigt]Mehrfachvererbung, Diamond-Problem on Sun, 07 Mar 2010 13:08:56 GMT]]></title><description><![CDATA[<p><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="😉"
    /> stimmt danke,<br />
das vergesse ich andauernd wieder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1865445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1865445</guid><dc:creator><![CDATA[halo]]></dc:creator><pubDate>Sun, 07 Mar 2010 13:08:56 GMT</pubDate></item></channel></rss>