Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.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++ 编译器说;标题「;未声明:LinkedList_C++_Algorithm - Fatal编程技术网

C++ 编译器说;标题「;未声明:LinkedList

C++ 编译器说;标题「;未声明:LinkedList,c++,algorithm,C++,Algorithm,我将我的节点定义为一个结构并尝试获取它。但当我运行我的代码编译器时,它说“head”,“tail”并没有声明。我是不是给它下了错误的定义 尝试使用模板,但不起作用 您在类列表中声明了head和tail作为私有成员字段。但是您是从类外的方法访问它们的。编译器因此抛出错误 在insertFront函数中,您已经编码了 head = node node->next = head; 这是错误的head是访问剩余链表的唯一途径。通过执行head=node,您将无法访问列表的其余部分。然后执行no

我将我的节点定义为一个结构并尝试获取它。但当我运行我的代码编译器时,它说“head”,“tail”并没有声明。我是不是给它下了错误的定义

尝试使用模板,但不起作用


您在类列表中声明了head和tail作为私有成员字段。但是您是从类外的方法访问它们的。编译器因此抛出错误

insertFront
函数中,您已经编码了

head = node
node->next = head;
这是错误的
head
是访问剩余链表的唯一途径。通过执行
head=node
,您将无法访问列表的其余部分。然后执行
node->next=head
,基本上将节点指向自身。应该反过来做

node->next = head;
head = node;
insertBack
函数中的另一个错误<代码>上一个未在结构节点中声明。在
尾部插入的正确方法是

tail->next = node;
tail = node;

请不要使用文本图像,请将粘贴复制为文本。提示:函数,它们真的是成员函数吗?您可以使用工具栏上的{}按钮形成代码块。选择文本并按{}按钮i删除的私有声明,仍然存在此问题您可以在问题中添加更新的完整代码作为文本吗?这将有助于我们更好地理解这个问题。请不要忘记在code.struct节点{int data;Node*next;};类列表{Node*head,*tail;public:List(){head=NULL;tail=NULL;};仍然有完全相同的错误。如果我们不为C++中的任何类成员字段指定访问修饰符,默认情况下,它们被视为私有的。因此,作为注释添加的代码与图片中添加的代码没有太大区别。请注意,在类中,成员默认为private,而在结构中,成员默认为public。卢西恩关于逻辑变化的建议仍然有效。