【发布时间】:2010-12-21 02:29:40
【问题描述】:
我正在尝试创建一个列表对象,其中嵌套了迭代器类以了解它是如何工作的。 在某些方法中,我试图返回一个迭代器对象,但它不起作用。 我创建了一个示例来说明问题:
// 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() 之前
我试图解决这个问题好几天了,但我找不到让它工作的方法...... 我真的很感激一些帮助。 提前致谢!
【问题讨论】:
标签: c++ class templates nested