あるクラス コンストラクターから別のクラス コンストラクターにオブジェクトを渡そうとしていますが、うまくいかないようです。以下にコードを示します。
私は次のクラスを持っています:
class STFT {
public:
template<typename Inverse>
STFT(Inverse begin, Inverse end, size_t x, size_t y, WindowType type)
{
switch(type)
{
case 0:
this->w = Window(0, 100, this->w); // "0" is the type of window, 100 is the size, this-w is a reference to the object.
break;
case 1:
break;
}
}
protected:
Window w;
};
複数のクラスがありHamming
、Hanning
それらはすべてクラスから継承されWindow
ます..私がやりたいことは、Window
初期化するオブジェクトを決定するコンストラクターを持っていることです..
Window(int theWindow, size_t size, Window& w)
{
switch(theWindow)
{
case 0:
w = new Barlett(100);
break;
//**
}
しかし、次のエラーが発生します。
no known conversion for argument 1 from 'Barlett*' to 'const Window&'
から継承しWindow
てBarlett
いるのにに変換できないからだと思います。Barlett
Window
誰かに何か提案があれば、それは素晴らしいことです:)