összeállításához hibát mutató cserébe

szavazat
0

Van BST osztály megegyezik a témára

BST.hpp

template<class T> 
class BinarySearchTree
{
 private:
  struct tree_node
  {
    tree_node* left;
    tree_node* right;
    T data;

    tree_node( const T & thedata, tree_node * l = NULL, tree_node * r = NULL )
            : data( thedata ), left( l ), right( r ) { }
  };
tree_node* root;

public:
  //some functions
private:
  struct tree_node* minFunc( tree_node** node);
};

Megpróbáltam visszatérni a mutató a funkciót végzett témára .

meghatározását minFunc ugyanabban BST.hpp fájl

template <class T>
struct tree_node* BST<T>::minFunc(tree_node** node)
{
tree_node* current = *node;
while(current->left != NULL)
{
    current = current->left;
}
return current;
}

Nem lehet kitalálni, hogy a fordítási hibákat :

error C2143: szintaktikai hiba: hiányzik ';' előtt „*”

error C2065: 'T': a be nem jelentett azonosítója

error C2955: 'BST használatát: class template requ i res sablon paraméterek listája

error C2509: 'minFunc': tag függvény nem jelentettek be BST

Mindezen rámutatva, hogy a meghatározás

A kérdést 29/05/2011 11:29
a forrás felhasználó
Más nyelveken...                            


3 válasz

szavazat
2

A legjobb becslés szerint, hogy struct tree_nodenem látható. Ez valószínűleg nem nyilvánították / bejelentett benne néhány osztályban.

Válaszolt 29/05/2011 11:37
a forrás felhasználó

szavazat
0

treenode egy privát struct a BST - ha nem tud hozzáférni kívülről BST

Válaszolt 29/05/2011 11:38
a forrás felhasználó

szavazat
1

  1. Változás ezt a nyilatkozatot:

    struct tree_node * minFunc (tree_node ** csomópont);

ebbe

tree_node* minFunc( tree_node** node);

Változás, hogy a meghatározást ennek megfelelően.

  1. Dupla pointer egy biztos jele a rossz tervezés
  2. Vett egy fejlécet meghatározó struct tree_node?

EDIT

A meghatározás legyen

template <class T>
typename BST<T>::tree_node* BST<T>::minFunc(tree_node** node)
{
tree_node* current = *node;
while(current->left != NULL)
{
    current = current->left;
}
return current;
}

Mellesleg, hogy jegyezze fel, hogy az eljárás minFunc privát, és vidám hozzáférés kívülre az osztály

Válaszolt 29/05/2011 12:03
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more