gpt4 book ai didi

c++ - 类(class)成员指向类(class)成员

转载 作者:行者123 更新时间:2023-11-30 03:39:21 25 4
gpt4 key购买 nike

我刚开始使用 C++,我在指向类(class)成员的地址时遇到了问题。当我编译时没有错误,但当我运行它时程序中断。

class vise
{
public:
int h1=10;
int n1=12;
int *x;
int set();
};

class vodv
{
public:
vise *v;
int g;
};

int vise::set()
{
h1=5;
return 0;
}

这一行打断了程序

vodv f;
vise v1;
(f.v)->x=&(v1.n1);

最佳答案

您没有为 v 分配内存,因此当您尝试访问它时:

(f.v)->x = &(v1.n1);
^^^
Dereferences 'v'

v 可以指向任意内存地址。取消引用它是未定义的行为,有时(毕竟它是未定义的)会使您的程序崩溃。

关于c++ - 类(class)成员指向类(class)成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38910120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com