C++ 当我们将一个结构指针指定给另一个指针时,为什么';我们不能直接使用指定的指针访问数据吗?
我做过类似的事情C++ 当我们将一个结构指针指定给另一个指针时,为什么';我们不能直接使用指定的指针访问数据吗?,c++,C++,我做过类似的事情 struct node { int data; node *next; } node *n1 = n; 当我试图访问n1->数据时,它告诉我访问被违反。使用或。代码可能是由取消引用未初始化指针时生成的未定义行为引起的 鉴于您的: struct node { int data; node *next; } 如果您声明: node *n; node *n1 = n; n->data和n1->data都会导致UB。这种行为可能有几个原因。其中一些
struct node
{
int data;
node *next;
}
node *n1 = n;
当我试图访问n1->数据时,它告诉我访问被违反。使用或。代码可能是由取消引用未初始化指针时生成的未定义行为引起的
鉴于您的:
struct node
{
int data;
node *next;
}
如果您声明:
node *n;
node *n1 = n;
n->data
和n1->data
都会导致UB。这种行为可能有几个原因。其中一些是
节点*n1;
节点*n2;
coutplz发布使用相关代码发布实际代码,这不会编译。但是您可能没有正确分配n ptr。访问冲突通常意味着您正在使用无效指针。使用调试器逐步检查代码,找出错误所在。node*n1=n代码>很好。n
一定有问题。发布显示问题的完整程序。