Ich versuche ein Listenobjekt zu erstellen, mit der Iterator-Klasse geschachtelt, um zu verstehen, wie es funktioniert. In einigen Methoden versuche ich ein Iterator-Objekt zurückzugeben, aber es funktioniert nicht. Ich habe ein Beispiel, das Problem zu zeigen:C++ zurückgegeben geschachtelte Klasse mit Vorlage auf Basisklasse Problem
// CLASS A
template <class T>
class A
{
public:
class B;
A(){}
};
// CLASS B
template <class T>
class A<T>::B
{
private:
int varB;
public:
B(B& b);
B(const int&);
B returnThis();
};
template <class T>
A<T>::B::B(const int& value)
{
varB = value;
}
template <class T>
A<T>::B::B(B& b)
{
varB = b.varB;
}
template <class T>
A<T>::B A<T>::B::returnThis()
{
return *this;
}
// MAIN
void main()
{
A<int>::B classB(10);
}
Der Fehler ist in der Nähe dieser Linien:
template <class T>
A<T>::B A<T>::B::returnThis()
Der Compiler sagt mir, ich bin fehlt; vor A :: B :: returnThis()
Ich versuche, dieses Problem seit Tagen zu lösen, und ich kann keinen Weg finden, es zum Funktionieren zu bringen ... Ich würde wirklich etwas Hilfe schätzen. Vielen Dank im Voraus!
Vielen Dank! Ich werde @ typename sehen! –
Kein Problem. :) – GManNickG