指针和结构体的问题(C++)

问题描述 投票:0回答:1

有人可以告诉我下面的代码有什么问题吗?

#include <iostream>
using namespace std;

typedef struct point{
  int key;
  struct point * key0;
} pnt;

int main() {
  pnt * p = new pnt;
  p->key = 1;
  p->key0->key = 2;
}

我对 C++ 有点陌生,我仍在尝试理解这些概念。

我期望能够为我定义的结构设置一些任意值。我只是在尝试是否理解它是如何工作的。

编译器只是说我使用了非法指令

c++ pointers struct
1个回答
0
投票

你的问题是你从未初始化key0,所以它只是指向随机内存。

您需要初始化指针以指向您已分配的对象。

© www.soinside.com 2019 - 2024. All rights reserved.