我有这个:
template <typename T>
class myList
{
...
class myIterator
{
...
T& operator*();
}
}
...
template<typename T>
T& myList<T>::myIterator::operator*()
{
...
}
这给了我以下错误:“'&amp;'之前的预期初始值设定项令牌”。我该怎么做?我之前已经尝试过添加“template myList :: myIterator”,但这不起作用。
答案 0 :(得分:3)
一些分号和公众怎么样:
template <typename T>
class myList
{
public:
class myIterator
{
public:
T& operator*();
};
};
答案 1 :(得分:0)
编译好:
如果你想发布代码,它应该像passable一样简单,但它仍然应该是可编译的。如果你删除的东西将是nilly然后你可能会删除你想要修复的真正的错误,如果你向人们展示代码,这里的人真的善于发现问题。
在这种情况下,我们只能将其删除到您已删除的某些代码。
template <typename T>
class myList
{
public:
class myIterator
{
public:
T& operator*();
};
};
template<typename T>
T& myList<T>::myIterator::operator*()
{
static T x;
return x;
}
int main()
{
myList<int> a;
myList<int>::myIterator b;
int& c= *b;
}