gpt4 book ai didi

c++ - 调用非默认构造函数作为成员初始化

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

我有一个类“A”和一个类“B”,这样 A 包含 B 的一个实例

class A
{
B b = B(parameters...);
Other thing = 3;
}

这段代码的问题是 B 没有(也不应该!)复制构造函数,所以编译器会报错

我希望能够像下面这样调用 B 的构造函数,但它会将其解释为函数声明

class A
{
B b(parameters...);
Other thing = 3;
}

有没有办法在类的定义中调用非默认构造函数?

最佳答案

Default member initializer (C++11 起)仅支持大括号或等于初始化器;你可以在这里使用大括号初始值设定项。

class A
{
B b{parameters...};
Other thing = 3;
};

关于c++ - 调用非默认构造函数作为成员初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50861030/

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