Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 打印链表返回随机符号_C++_Linked List_Adt_Singly Linked List - Fatal编程技术网

C++ 打印链表返回随机符号

C++ 打印链表返回随机符号,c++,linked-list,adt,singly-linked-list,C++,Linked List,Adt,Singly Linked List,我已经实现了一个基本的链表,以便为一个更困难的任务做准备。如果不打印随机符号,我似乎无法打印节点的内容。 我知道这意味着我正在访问坏内存,但我无法确定它发生在何处或如何发生。 有人能帮我修复这个错误吗 在linux上使用g++构建 头文件 #ifndef LLIST_H #define LLIST_H #include <string> using namespace std; struct node { int age; string name;

我已经实现了一个基本的链表,以便为一个更困难的任务做准备。如果不打印随机符号,我似乎无法打印节点的内容。
我知道这意味着我正在访问坏内存,但我无法确定它发生在何处或如何发生。
有人能帮我修复这个错误吗

在linux上使用g++构建

头文件

#ifndef LLIST_H
#define LLIST_H

#include <string>
using namespace std;

struct node
{
        int age;
        string name;
        string hair;
        int height;
        node* next;
};

node loadNode(node a, string b);


class linkedlist 
{
    private:
        node* head = NULL;
        node* tail = NULL;
        int size;
    public:
        linkedlist();
        linkedlist(node* n[], int si);
        int getSize();
        void print();
        void addNode(node add);
        void del(string record);
        node sort(node sortee);
        void printList();
        node * getHead();
};
#endif

@C.M.请让我知道这是否解决了问题

void linkedlist::addNode(node added)
{
    node * temp = new node;
    //add data members 
    temp-> age = added.age;
    temp-> hair = added.hair;
    temp-> name = added.name;
    temp-> height = added.height;

    //if the first element
    if(size == 0)
    {
        head = temp;
        tail = temp;
        temp->next = NULL; 
        size++;
    }
    else
    {       
        temp->next = head;
        head = temp;
        size++;

        //time to exit!
        temp = NULL;
        delete pointer;
    }
}
还更改了linkedlist Double L=linkedlist(lib,3);到


在main()文件中

是否尝试使用调试器单步执行代码?是时候在调试器中启动程序,逐行执行,并检查所有变量和指针值是否按预期显示。
linkedlist::addNode
中的逻辑没有任何意义。你需要复习it@C.M.你能说得更具体些吗,哪一部分?或者是我按照你要求我为你做家庭作业的顺序来做的:-)你在
addNode
中做的大部分事情都没有意义。分析并找出问题所在
#include "list.h"
#include <fstream>
#include <iostream>

using namespace std;

int main()
{
    string k = "21,Ces Goose,brown,5";  
    string a = "25, SteveO, Brown, 6";
    string b = "23, Jimmy , Brown, 5";



    node d,f,c;
    d = loadNode(d,k);
    f = loadNode(f,a);
    c = loadNode(c,b);

    node lib[3] = {d,f,c};
    linkedlist doublel = linkedlist(lib, 3);

    doublel.print();



    return 0;


}
6304000
@g���
void linkedlist::addNode(node added)
{
    node * temp = new node;
    //add data members 
    temp-> age = added.age;
    temp-> hair = added.hair;
    temp-> name = added.name;
    temp-> height = added.height;

    //if the first element
    if(size == 0)
    {
        head = temp;
        tail = temp;
        temp->next = NULL; 
        size++;
    }
    else
    {       
        temp->next = head;
        head = temp;
        size++;

        //time to exit!
        temp = NULL;
        delete pointer;
    }
}
linkedlist * doublel = new linkedlist(lib,3);
doublel->print();