gpt4 book ai didi

c++ - 如何在 C++ 中初始化嵌套类的构造函数

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:24:53 27 4
gpt4 key购买 nike

我在初始化嵌套类构造函数时遇到问题。

这是我的代码:

#include <iostream>

using namespace std;

class a
{
public:
class b
{
public:
b(char str[45])
{
cout<<str;
}

}title;
}document;

int main()
{
document.title("Hello World"); //Error in this line
return 0;
}

我得到的错误是:

fun.cpp:21:30: error: no match for call to '(a::b)'

最佳答案

你可能想要这样的东西:

class a
{
public:
a():title(b("")) {}
//....
};

这是因为 title 已经是 a 的成员,但是您没有它的默认构造函数。要么写一个默认构造函数,要么在初始化列表中初始化它。

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

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