サインオシレーターコールバックを使用して、STKプログラムの1つに取り組んでいます。ToneGenクラスを抽象化するGeneratorクラスの仮想関数が原因で、Generatorクラスから継承するToneGenクラスからオブジェクトを作成するときに問題が発生します。ポインタを試しましたが、データを適切な方法で取得する際に問題が発生しているようです。ポインタを使用すると、ToneGen.hファイルのコードが壊れます
void setRate( StkFloat rate ) { rate_ = rate; };
そうでなければ、ポインタなしでこのエラーが発生します
src\crtToneGen.cpp(36): error C2259: 'stk::ToneGen' : cannot instantiate abstract class
due to following members:
'stk::StkFrames &stk::Generator::tick(stk::StkFrames &,unsigned int)' : is abstract
C:\VS10 Projects\StkNewInst\crtToneGen\include\Generator.h(43) : see declaration of 'stk::Generator::tick'
これがジェネレータクラスの仮想関数です
virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 0 )=0;
これを回避する方法はありますか?他の投稿で他のいくつかのテクニックを試しましたが、まだ運がありません。
私が変更しているコードはここにあります
私はこれをVisualStudio2010Windows732ビットで行っています