gpt4 book ai didi

c++ - 在构造函数 C++ 中初始化引用

转载 作者:IT老高 更新时间:2023-10-28 12:50:47 24 4
gpt4 key购买 nike

我不认为这是一个重复的问题。有类似的,但它们并没有帮助我解决我的问题。

根据this , 以下在 C++ 中有效:

class c {
public:
int& i;
};

但是,当我这样做时,我收到以下错误:

error: uninitialized reference member 'c::i'

i=0如何初始化成功?

非常感谢。

最佳答案

没有“空引用”这样的东西。您必须在对象初始化时提供引用。将其放入构造函数的基本初始化列表中:

class c
{
public:
c(int & a) : i(a) { }
int & i;
};

另一种选择是 i(*new int),但这太糟糕了。

编辑: 为了回答你的问题,你可能只是希望 i 成为成员对象,而不是引用,所以只需说 int i;,并将构造函数编写为 c() : i(0) {}c(int a = 0) : i(a) { } .

关于c++ - 在构造函数 C++ 中初始化引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6576109/

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