Я пытаюсь создать объект списка с вложенным классом итератора, чтобы понять, как он работает.
В каком-то методе я пытаюсь вернуть объект итератора, но он не работает.
Я создал пример, чтобы показать проблему:
// 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);
}
Ошибка рядом с этими строками:
template <class T>
A<T>::B A<T>::B::returnThis()
Компилятор говорит мне, что мне не хватает a; до A :: B :: returnThis ()
Я пытаюсь решить эту проблему в течение нескольких дней, и я не могу найти способ заставить ее работать ...
Я был бы очень признателен за помощь.
Заранее спасибо!