假设我有一个既没有默认构造函数也没有复制构造函数的类 Member
,它是由第三方 API 创建的,就像函数一样。
我有声明
Member CreateMember(string str);
class MyClass {
Member my_member;
public:
MyClass(){
my_member = CreateMember("I am a parameter");
}
}
因为 Member
类没有默认构造函数,上面的声明不起作用,因为没有办法初始化成员。
我也不能将它声明为指针,因为缺少复制构造函数意味着我不能调用 new Member(my_member)
。
我在这里不知所措,有什么建议吗?
最佳答案
Member CreateMember(string str);
class MyClass {
Member my_member;
public:
MyClass()
: my_member(CreateMember("I am a parameter"))
{
}
};
关于c++ - 声明没有默认构造函数或复制构造函数的成员变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55996863/