我试图循环遍历每个节点中包含的名为_snakeSegments的列表中的数据。 (注意:课程由我自己编写,不属于STL等)。每个数据元素都是一个Sprite,它代表了我的蛇的一个片段。“请求非类别成员”,赋值语句不正确?
当我尝试编译时出现以下错误:request for member 'GetPrev' in 'currentNode', which is of non-class type 'Node<Sprite>*'
。已编译已标记的行,我尝试在下面的for循环中分配下一个currentNode:
void Snake::Draw(prg::Canvas& c)
{
Node<Sprite>* currentNode = _snakeSegments.GetHead();
for (int i=0; i < _snakeSegments.NumberOfNodes(); ++i){
currentNode->GetData().Draw(c);
currentNode = currentNode.GetPrev(); //compiler shows error here
}
}
继承人是GetPrev的定义。其中,当在一个节点调用,返回一个节点指向前一节点..
template <typename NodeType>
Node<NodeType>* Node<NodeType>::GetPrev()
{
return _prev;
}
庵以及我有点困惑,并希望得到任何帮助!请询问您是否需要更多信息/我不清楚,谢谢。
对不起,我是个傻瓜!只是不要直视欢呼声 – Holly 2012-04-01 17:09:04