I erhalten ein error: 'func' does not name a type
, wenn ein Mitglied Funktion func
einer Klasse B
versucht, eine Klasse zurückzukehren C
:Wie verwendet man eine Klassenfunktion in C++?
class A {
public:
class B {
public:
C func() const {
...
}
private:
friend class A;
}
class C {
public:
...
private:
friend class A;
}
private:
...
}
Wenn dagegen func
Mitglied Funktion von A ist, dann wird der folgende diesen Fehler nicht erzeugen:
class A {
public:
class B {
public:
...
private:
friend class A;
}
C func() const {
...
}
class C {
public:
...
private:
friend class A;
}
private:
...
}
Wie kann ich es beheben, damit die erste Version funktioniert?
Ich fand ein großartiges Beispiel here.
Warum deklarieren Sie Klassen in einer anderen Klasse? – lxop