Vraag & Antwoord

Programmeren

[c++] Ambiguous base class

Anoniem
phaas
2 antwoorden
  • Als ik bv. dit doe:
    [code:1:07e6009da1]

    class class1
    {
    bla…
    };

    class class2 : public class1
    {
    bla…
    };


    class class3 : public class1
    {
    bla…
    }

    class class4: public class2, public class3
    {
    bla…
    };
    [/code:1:07e6009da1]

    Krijg ik de melding '`class1' is ambiguous base class of `class4''
    Hoe moet ik dit nu oplossen? Ik zie in de situatie in mijn programma geen andere oplossing.
  • [quote:5736978634="phaas"]Als ik bv. dit doe:
    [code:1:5736978634]

    class class1
    {
    bla…
    };

    class class2 : public class1
    {
    bla…
    };


    class class3 : public class1
    {
    bla…
    }

    class class4: public class2, public class3
    {
    bla…
    };
    [/code:1:5736978634]

    Krijg ik de melding '`class1' is ambiguous base class of `class4''
    Hoe moet ik dit nu oplossen? Ik zie in de situatie in mijn programma geen andere oplossing.[/quote:5736978634]

    simpel: virtual inheritance. Zoek maar in je favo C++ boek of op inet, in short:

    [code:1:5736978634]
    class class4: virtual class2, virtual class3
    {
    bla…
    };
    [/code:1:5736978634]

    en

    [code:1:5736978634]
    class4::class4() : class2(x), class3(y), class1(z) {}
    [/code:1:5736978634]

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.