gpt4 book ai didi

c++ - 在类中为拥有的数组创建 get 函数

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

我创建了以下类,其中包含一个自有的卷积器数组,并且我尝试创建一个 getter 函数来访问另一个类中的卷积器:

class ImpulseCreator
{
public:

ImpulseCreator();
~ImpulseCreator();

OwnedArray<fftconvolver::FFTConvolver> getConvolver();


private:
//convolver
AudioSampleBuffer impulseBuffer1;
AudioSampleBuffer impulseBuffer2;
AudioSampleBuffer finalImpulseBuffer;

OwnedArray<fftconvolver::FFTConvolver> preConvolvers;
OwnedArray<fftconvolver::FFTConvolver> convolvers;
};

然后在 .cpp 文件中我有以下代码:

OwnedArray<fftconvolver::FFTConvolver> ImpulseCreator::getConvolver()
{
return convolvers;
}

关于“返回卷积器”;行,我收到一条错误消息:

Call to deleted constructor of OwnedArray<fftconvolver::FFTConvolver>

有什么想法吗?

最佳答案

您应该将函数的签名更改为

OwnedArray<fftconvolver::FFTConvolver> const& getConvolver() const;

因此您要返回数组的引用。如所写,它将返回数组的拷贝,编译器似乎在告诉您复制构造函数已被删除。

如果你需要能够修改数组的内容,你也可以返回一个非常量引用

OwnedArray<fftconvolver::FFTConvolver>& getConvolver();

关于c++ - 在类中为拥有的数组创建 get 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35200964/

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