错误:无法分配抽象类型的对象 'mySynth' VST 编程
error: cannot allocate an object of abstract type 'mySynth' VST Programming
对于一个项目,我被要求使用Steinberg SDK
创建VST
,我正在使用2.4版。
我遇到的问题是错误:
cannot allocate an object of abstract type 'mySynth'
。
尝试编译时,错误将我带到了代码的这一部分:
AudioEffect* createEffectInstance (audioMasterCallback audioMaster)
{
return new mySynth (audioMaster);
}
我是C 和VST
编程的初学者,我没有编译示例AGain
和ADelay
的问题,以及vstxSynth
。这是我自己的第一次尝试,也是我的确使我感到困惑,从查看示例代码,我似乎找不到任何理由为什么不应该工作。
任何帮助将不胜感激。由于这对我来说是一条主要的学习曲线,因此,如果您可以尽可能简单的解释,我将不胜感激。
谢谢:)
没有看到类mySynth
代码,很难说,但是当您拥有包含纯虚拟函数的类时,通常会遇到此错误。要么是从具有纯虚拟函数的基类派生的,因此未能通过派生的类实现覆盖它。
如果您不知道这意味着什么,请在类(和子类)中查看像这样声明的功能
virtual int my_function() = 0;
这种函数是一个纯净的虚拟函数,一个具有一个类别的类被视为抽象类,无法实例化。为此,您需要提供实施。
您的processReplacing()
方法在基类AudioEffect
中没有正确地覆盖签名。签名看起来像这样:
void processReplacing(float** inputs, float** outputs, VstInt32 sampleFrames);
您的替代使用double
,它应该使用float
。
相关文章:
- 什么时候调用组成单元对象的析构函数
- 对RValue对象调用的LValue ref限定成员函数
- CMake-按正确顺序将项目与C运行时对象文件链接
- 空基优化子对象的地址
- 将对象数组的引用传递给函数
- 你能重载对象变量名本身返回的内容吗
- C++使用整数的压缩数组初始化对象
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 将对象移动到std::shared_ptr
- 代理对象的常量正确性
- 提升 ASIO 无法识别计时器对象
- 将Ref对象作为类成员
- 将包含C样式数组的对象初始化为成员变量(C++)
- 如何返回一个类的两个对象相加的结果
- 使用std::函数映射对象方法
- 是否需要删除包含对象的"pair"?
- 如何在自删除后将对象设置为nullptr
- 迭代时从向量和内存中删除对象
- 构造对象的歧义
- 错误:无法分配抽象类型的对象 'mySynth' VST 编程