C++ 包含指针成员的嵌套结构
我对链表有一个问题,他们定义了一个节点结构:C++ 包含指针成员的嵌套结构,c++,struct,C++,Struct,我对链表有一个问题,他们定义了一个节点结构: struct Node { int data; struct Node* next; } 我无法更改,因此我在Order中创建了新结构,以成功回答以下问题: struct tmpNode{ int data; bool visit = false; struct Node* next; } t; 现在我尝试执行以下代码,但在最后一行失败-目的是使用我创建的结构创建并行列表: t.data = head-&g
struct Node {
int data;
struct Node* next;
}
我无法更改,因此我在Order中创建了新结构,以成功回答以下问题:
struct tmpNode{
int data;
bool visit = false;
struct Node* next;
} t;
现在我尝试执行以下代码,但在最后一行失败-目的是使用我创建的结构创建并行列表:
t.data = head->data;
t.visit = true;
t.next = head->next;
t = t.next;
我做错了什么
谢谢您正在尝试分配不兼容的类型。
t.next
的类型是Node*
,而t
的类型是tmpNode
,C++不要求您编写struct Node*
,Node*
是sufficient@Curious-你也需要为那项工作申报。否则,您需要完全修饰的标识符。@StoryTeller我以前从未做过struct Node*
。@quitive-有趣。每天学习新的东西。我需要重新阅读有关符号介绍的标准。而且没有一个类型转换我可以这样做。它会起作用吗?我假设您必须跟踪访问了哪些节点,而无需修改原始的节点
结构。我推荐的一种解决方案是将这些信息外部存储在容器中,例如在std::map
中。太好了,我没有想到这样的事情。。谢谢更简单的是:使用一个只包含已访问节点的集合。@DanielJour,我同意。设置更合适。