gpt4 book ai didi

c++ - 在其他函数中设置结构成员的值

转载 作者:行者123 更新时间:2023-11-30 00:36:44 25 4
gpt4 key购买 nike

假设我有这个结构:

    typedef struct Foo {
int a;
int b;
int c;
} Foo;

现在,我创建了这个初始化函数,它将为 Foo 分配内存,并将值预设到我的对象中,如下所示:

    void initializeFoo(Foo *foo) {
foo = (Foo*)malloc(sizeof(Foo));
foo->a=0;
foo->b=15;
foo->c=0;
}

在 Foo 之上,假设我们创建了一个名为 Display 的 C++ 类,因此我们可以在屏幕上显示 Foo。

     class Display {
public:
Display();

private:
Foo* foo;
}

在 Display 构造函数内部,我使用 initializeFoo(foo) 来初始化 foo 的值,但是我为 foo 设置的预设值不存在。

我认为这可能是内存分配问题。我确保 Display 已正确分配了 C++ 的“new”。然而,我一整天都在为此挠头。

它不起作用的唯一原因似乎是因为我在 initializeFoo() 中设置了这些值。但是,这对我来说没有意义。

对于这里可能发生的事情,还有其他人有更好的意见吗?

最佳答案

你可能是说

void initializeFoo(Foo **foo) {
*foo = (Foo*)malloc(sizeof(Foo));
(*foo)->a=0;
(*foo)->b=15;
(*foo)->c=0;
}

关于c++ - 在其他函数中设置结构成员的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15265725/

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