Ric*_*ich 3 c++ virtual unresolved-external visual-studio-2008
我正在编写一些代码,我定义了以下基类.
class Chorus{
public:
//Destructor
virtual ~Chorus();
//callback function
virtual int callback( void *outputBuffer, void *notUsed, unsigned int
nBufferFrames, double streamTime, RtAudioStreamStatus status, void *userData );
virtual void initializeDelayBuffer(void);
virtual void destroyDelayBuffer(void);
};
Run Code Online (Sandbox Code Playgroud)
我想将它用作基类,而不是实际上对它自己做任何事情.所以我有两个单独的类,它们来自这个类Chorus.我想这样做只是简单地提供一些基本约束,以确定任何派生的Chorus类必须被认为在我的程序中可用.
当我构建我的项目(Visual Studio 2008)时,我在此Chorus类的所有虚函数上得到了未解析的外部符号错误.我猜这是典型的错误,我没有做出这些函数的前向声明.但是,由于它们是虚拟的,我不希望它们实际被定义为在导出类中定义之前做任何事情,我该怎么做才能解决这个问题?
Jar*_*Par 15
如果你的目的是让它们只是实现子类的占位符,那么以= 0结尾使它们成为纯虚函数.例如
virtual void destroyDelayBuffer(void) = 0;
Run Code Online (Sandbox Code Playgroud)
这使得该方法可以说是"抽象的".C++编译器不会查找方法的实际定义,而是强制所有派生类在创建实例之前实现这些方法.
| 归档时间: |
|
| 查看次数: |
2133 次 |
| 最近记录: |