链表中的结构



我有一个程序在链表中实现一个结构。我在主要内容中收到一个错误,说"结构节点::d ate的无效使用"。我想不通。我的教授也不知道。任何帮助以及解释将不胜感激,以便我知道它为什么要这样做。

#include <iostream>
#include <cstddef>
#include <string>
using namespace std;
struct date
{
   int day;
   int month;
   int year;
};
struct Node
{
    string item;
    int count;
    Node *link;
    struct date;
};
typedef Node* NodePtr;
void head_insert(NodePtr& head, string an_item, int a_number, date a_date);
void show_list(NodePtr& head);
int main()
{
    date tea_date, jam_date, rolls_date;
    rolls_date.day = 8;
    rolls_date.month = 10;
    rolls_date.year = 2003;
    jam_date.day = 9;
    jam_date.month = 12;
    jam_date.year = 2003;
    tea_date.day = 1;
    tea_date.month = 1;
    tea_date.year = 2010;
    NodePtr head = NULL;
    head_insert(head, "Tea", 2, tea_date);
    head_insert(head, "Jam", 3, jam_date);
    head_insert(head, "Rolls", 10, rolls_date);
    show_list(head);
    system("PAUSE");
    return 0;
}
void head_insert(NodePtr& head, string an_item, int a_number, date a_date)
{
    NodePtr temp_ptr;
    temp_ptr = new Node;
    temp_ptr-> item = an_item;
    temp_ptr-> count = a_number;
    temp_ptr-> date = a_date;
    temp_ptr->link = head;
    head = temp_ptr;
}
void show_list(NodePtr& head)
{
    NodePtr here = head;
    while (here != NULL)
    {
        cout << here-> item << "t";
        cout << here-> count << endl;
        here = here->link;
    }
}
这只是

一个名为datestruct的声明:

struct date;

您需要的是为您的Node提供一个date实例:

struct Node
{
  string item;
  int count;
  Node *link;
  date date_; // Node has a date called date_
};

相关内容

  • 没有找到相关文章

最新更新