0

構文エラーが発生し続けます

「エラー: 予期される ';' 「あ」の前に

AVL_Tree<val_type>::node_type a; Netbeans の下で Cygwin gcc コンパイラを使用する行 で。

クラス「MyMap.h」で

#include "AVL_Tree.h"
template <class key_type,class mapped_type>
class MyMap
{
public:
    class iterator
    {
        private:
            AVL_Tree<val_type>::node_type a;
    };
};

ファイル「AVL_Tree.h」内

 template <class T>

 class AVL_Tree
 {
 public:
    struct AVLNode
    {
        int balanceFactor;
        T element;
        AVLNode * left;
        AVLNode * right;

        AVLNode(T key)
        {
            left = 0;
            right = 0;
            element = key;
            balanceFactor = 0;
        }
       typedef AVLNode * node_type;
    };

AVL_Tree の typedef が public であるため、scope 演算子を使用して「node_type」にアクセスできたという印象を受けました。構文エラーは、正確に何が起こっているかを伝えるのにあまり役に立ちません。どんな助けでも大歓迎です。

4

1 に答える 1

2

は依存型であるtypenameため、使用する必要があります。node_typeまた、node_type中にありますAVLNode

typename AVL_Tree<val_type>::AVLNode::node_type a;
于 2012-05-01T00:13:33.203 に答える