gpt4 book ai didi

c++ - 如何在没有复制构造函数和赋值运算符的情况下实例化实例变量

转载 作者:搜寻专家 更新时间:2023-10-31 00:11:29 24 4
gpt4 key购买 nike

我正在使用一个库,其中的类没有实现赋值运算符并且复制构造函数被禁用。我可以像这样实例化一个名为 varLibraryClass 本地实例:

LibraryClass var(data, (char *)fileName, results);

但我想在我正在编写的类上创建一个 LibraryClass 实例变量。然后我想在类构造函数中实例化它。像这样:

class MyClass
{
LibraryClass var;
void MyClass();
}

MyClass::MyClass()
{
var = LibraryClass(data, (char *)fileName, results);
}

在这种情况下,我最终得到

error: ‘LibraryClass& LibraryClass::operator=(const LibraryClass&)’ is private
LibraryClass& operator=(const LibraryClass& rOther); // no implementation

我已经尝试了我能想到的一切来使这项工作有效,但没有任何效果。我正在尝试做的事情有可能吗?我没有想法,所以非常感谢任何建议。

编辑

我实际上并没有在构造函数中实例化变量。它发生在一个单独的函数中。我只说构造函数,因为我错误地认为这只是一个简化的假设。我没有意识到初始化列表可以解决这个问题。我想回答的主要问题是标题。

如何实例化没有复制构造函数或赋值运算符的类的实例变量?或者初始化列表是唯一的方法吗?

最佳答案

你需要使用初始化列表。

关于c++ - 如何在没有复制构造函数和赋值运算符的情况下实例化实例变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33833445/

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