私は_snakeSegmentsというリストの各ノードに含まれているデータを調べようとしています。 (注:クラスは自分で書かれており、STLの一部ではありません)。各データ要素は、私のヘビの単一セグメントを表すスプライトです。"非クラス型メンバーの要求"、代入文が間違っていますか?
コンパイルしようとすると、次のエラーが表示されます。request for member 'GetPrev' in 'currentNode', which is of non-class type 'Node<Sprite>*'
GetPrevの定義相続人
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
}
}
:コンパイルは、私は以下のforループ内の次のcurrentNodeのを割り当てようラインフラグを立てています。これは、ノード時に呼び出されたとき、私は少し混乱しているし、任意の助けをいただければ幸いです
template <typename NodeType>
Node<NodeType>* Node<NodeType>::GetPrev()
{
return _prev;
}
もあの...前のノードにノードポインタを返します!あなたがより多くの情報を必要とするかどうか聞いてください/私は不明である、ありがとう。
currentNode->GetPrev()
あなたが本当にポインタとインスタンスを区別することを学ぶようにしてください:あなたは上の行に行ったように、> -
は申し訳ありませんが、私は馬鹿です!まっすぐ考えるだけで全部うれしい – Holly