Portál AbcLinuxu, 1. června 2025 04:13
class Nadtrida_1 { class Podtrida_1 { Typ atribut; } Typ atribut; Nadtrida_2::Podtrida_2 * ukazatel; } class Nadtrida_2 { class Podtrida_2 { Typ atribut; } Typ atribut; Nadtrida_1::Podtrida_1 * ukazatel; }Je to sice zverstvo
class Nadtrida_2; // v souboru s Nadtrida_1 class Nadtrida_1; // v souboru s Nadtrida_2Tohle by bylo vpohode. Problem je v tom, ze potrebuju i deklarace tech podtrid:
class Nadtrida_2; // v souboru s Nadtrida_1 class Nadtrida_2::Podtrida_2; class Nadtrida_1; // v souboru s Nadtrida_2 class Nadtrida_1::Podtrida_1;Na což už překladač nadává:
error: expected type-nameNeuvědomuju si žádný důvod proč by podtřídy nemohly mít deklarace, ale pokud tomu tak je, tak bych rád věděl proč. Děkuju za odpověď.
class Nadtrida { public: class Podtrida { }; }; class Nadtrida_1 : public Nadtrida { public: class Podtrida_1 : public Podtrida { int atribut; }; int atribut; Nadtrida::Podtrida * ukazatel; }; class Nadtrida_2 : public Nadtrida { public: class Podtrida_2 : public Podtrida { int atribut; }; int atribut; Nadtrida::Podtrida * ukazatel; };
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.