Ce qui suit est un fichier d'en-tête de liste chaînée:privé Noeud Ctor en difficulté LL
// list.h
class list
{
public:
list(void); // constructor
virtual ~list(void); // destructor
void displayByName(ostream& out) const;
void displayByRating(ostream& out) const;
void insert(const winery& winery);
winery * const find(const char * const name) const;
bool remove(const char * const name);
private:
struct node
{
node(const winery& winery); // constructor
winery item;
node * nextByName;
node * nextByRating;
};
node * headByName;
node * headByRating;
};
la cteur cave a 4 param de la façon suivante:
// code in main.cpp
// this statement is very important
// I am trying to add the info to the list as a reference to the node ctor
wineries->insert(winery("Lopez Island Vinyard", "San Juan Islands", 7, 95));
J'exécuter le code à ce jour. Je débogue et il me prend au ctor. J'utilise la liste init de ctor pour initialiser le membre privé varaibles.
//winery.cpp
winery::winery(const char * const name, const char * const location, const int acres, const int rating)
: name(new char[strlen(name)+1]), location(new char[strlen(location)+1]), acres(0), rating(0)
{
// arcres, name, location, rating, are all private members of the winery class
}
nous allons à la chaînée:
//list.cpp
void list::insert(const winery& winery)
{
list *ListPtr = new list();
// here im trying to add all the info to the list:
node *NodePtr = new node(winery);
}
J'obtiens une erreur d'éditeur de liens: LNK2019: symbole externe non résolu "public: __thiscall liste :: node :: node (cave classe const &)" (?? 0node @ list @@ QAE @ ABVwinery @@@ Z) référencé dans la fonction "public: void __thiscall list :: insert (classe win const const &)" (? Insert @ list @@ QAEXABVwinery @@@ Z)
parce que le noeud ctor est une structure qui est privée à la liste liée? list.cpp?
Où la cave est-elle déclarée? Puis-je voir la déclaration? – jkeys
#ifndef _WINERY_ #define _WINERY_ #include cave classe { public: \t cave (const char * nom const, emplacement const char * const, d'acres const int, note const int); \t virtual ~ cave (vide); \t const char * const getName() const; \t const char * const getLocation() const; \t const int getAccès() const; \t const int getRating() const; \t // rubriques d'affichage des listes des établissements vinicoles \t de displayHeadings static void (std :: ostream & out); \t ami std :: ostream & operator << (std :: ostream & out, cave * w); privé: \t omble \t * nom, \t omble \t * Lieu, \t int \t \t acres \t int \t \t notation; }; #endif –
user40120