我试图将一个对象从一个类构造函数传递给另一个,但是,它似乎不想工作。下面是代码:
我有以下课程:
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
.
如果有人有任何建议,那就太好了:)