8
我想創建一個列表對象,其中嵌套迭代器類,以瞭解它是如何工作的。 在某些方法中,我試圖返回一個迭代器對象,但它不起作用。 我創建了一個例子來說明這個問題:C++返回嵌套類與基類問題上的模板
// 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 :: B :: returnThis()
我想解決這個問題幾天,我找不到辦法使它工作... 我真的很感激一些幫助。 在此先感謝!
非常感謝!我會看看@ typename! – 2009-11-27 21:33:54
沒問題。 :) – GManNickG 2009-11-27 21:38:29