找了两天的问题,头疼!(我很清楚的注释了代码,很好理解的。)
//这是电话薄的定义class Addressbook{public: typedef struct{ std::string name; std::string tele; }Data; typedef struct Node{ Data information; struct Node *next; }Node, *List; Addressbook(); ~Addressbook(); void append(std::istream &in); //添加联系人 void remove(const std::string &name); //删除联系人 void scan(std::ostream &out); //浏览联系人 private: List linkmen;};//就是这个成员函数问题运行时错误,求解!void Addressbook::append(std::istream &in){ Node *newlinkman = (Node *)malloc(sizeof(Node)); if(newlinkman == NULL) exit(EXIT_FAILURE); //就是下面这两句运行时出错,始终想不明白。。。 in >> (newlinkman->information).name; in >> (newlinkman->information).tele; newlinkman->next = NULL; //linkmen是类的唯一数据成员且为已经初始化的链表头结点 linkmen->next = newlinkman; }