我有一个C++函数,它封装一个输出流构造函数,这样它就可以传递一个指向它运行的父类的指针,
pf_istream PF_Plugin::pf_open_in() {
return pf_istream(this);
}
然而,当我这样做的时候,我会得到如下的结果:
pf_plugin.cc:103:错误:无匹配
调用函数
__pf_istream::pf_istream(pf_istream)_
Pf-Istream.hh:36:注:候选人
是:pf鏁istream::pf鏁istream(const
PFI插件*
pf-istream.hh:29:注:pf-istream::pf-istream(pf-istream&)
我已经定义了一个复制构造函数和赋值运算符(如上所示),如果我这样编写函数:
pf_istream PF_Plugin::pf_open_in() {
pf_istream to_ret(this);
return to_ret;
}
它工作得很好。如果我试图直接从对函数的调用中分配一个pf istream实例,我会得到类似的错误,例如:
pf_istream inFile = pf_open_in();
我还需要添加什么才能使此工作正常?