有人可以告诉我下面的代码有什么问题吗?
#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++ 有点陌生,我仍在尝试理解这些概念。
我期望能够为我定义的结构设置一些任意值。我只是在尝试是否理解它是如何工作的。
编译器只是说我使用了非法指令。
你的问题是你从未初始化key0,所以它只是指向随机内存。
您需要初始化指针以指向您已分配的对象。