gpt4 book ai didi

c++ - 为什么这个结构没有在函数中设置

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:59:42 25 4
gpt4 key购买 nike

我正在尝试将结构指针传递给函数并通过指针初始化结构。知道为什么这不起作用吗?

struct Re
{
int length;
int width;
};

void test (Re*);

int main()
{
Re* blah = NULL;
test(blah);
cout << blah->width;
return 0;
}

void test(Re *t) {
t = new Re{5, 5};
}

我做错了什么?

最佳答案

指针被复制到函数中,因为它是按值传递的。您必须传递指向指针的指针或指向指针的引用才能对其进行初始化:

void test(Re *&t) {
t = new Re{5, 5};
}

关于c++ - 为什么这个结构没有在函数中设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19738688/

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