私は次のようなジェネレーターと呼ばれるインターフェースを持っています:
class Generator{
public:
virtual float getSample(Note ¬e)=0;
};
そして、私のSynth
クラスは次のようにそれを実装しています:
class Synth : public Generator{
public:
virtual float getSample(Note ¬e);
};
float Synth::getSample(Note ¬e){
return 0.5;
}
Noteクラス(ジェネレーターメンバーを持つ)からgetSampleメソッドを呼び出そうとしています
class Note : public Playable{
public:
Generator *generator;
virtual float getValue();
};
float Note::getValue(){
float sample = generator->getSample(*this); // gets stuck here
return sample;
}
実行しようとすると、上記のコードのマークされた行でスタックします。問題は、非常に明確なエラーメッセージが表示されないことです。これは、停止すると表示されるものです。