有这样的类定义:
template <class Impl>
FullO3CPU<Impl>::FullO3CPU(DerivO3CPUParams *params)
class DerivO3CPU : public FullO3CPU<O3CPUImpl>
{
public:
DerivO3CPU(DerivO3CPUParams *p)
: FullO3CPU<O3CPUImpl>(p)
{ }
};
DerivO3CPU *
DerivO3CPUParams::create()
{
...
return new DerivO3CPU(this);
}
我改变的是向 FullO3CPU 添加另一个参数
template <class Impl>
FullO3CPU<Impl>::FullO3CPU(DerivO3CPUParams *params, My_param *mp)
class DerivO3CPU : public FullO3CPU<O3CPUImpl>
{
public:
DerivO3CPU(DerivO3CPUParams *p, My_param *mp)
: FullO3CPU<O3CPUImpl>(p, mp)
{ }
};
DerivO3CPU *
DerivO3CPUParams::create()
{
...
return new DerivO3CPU(this);
}
但是我不知道该怎么办
return new DerivO3CPU(this);
因为我收到此错误:
error: no matching function for call to 'DerivO3CPU::DerivO3CPU(DerivO3CPUParams* const)'
note: candidates are:
note: DerivO3CPU::DerivO3CPU(DerivO3CPUParams*, My_param*)
note: candidate expects 2 arguments, 1 provided