vIDeotodatastream.cpp: In member function ‘virtual voID Wade::VIDeoToDataStream::getData(std::string&)’: vIDeotodatastream.cpp:33: error: no matching function for call to ‘Wade::VIDeoWrapper::getVIDeo(Letscher::VIDeo (&)())’ vIDeowrapper.h:10: note: candIDates are: virtual voID Wade::VIDeoWrapper::getVIDeo(Letscher::VIDeo&)@H_404_12@这是它抱怨的路线
Letscher::VIDeo vID();_vID.getVIDeo(vID); //Problem line@H_404_12@_vID是VIDeoWrapper&类型的私人会员数据.
VIDeoWrapper& _vID;@H_404_12@VIDeoWrapper是一个纯虚拟基类,具有以下方法:
class VIDeoWrapper { public: virtual voID setVIDeo(Letscher::VIDeo& vIDeo) = 0; virtual voID getVIDeo(Letscher::VIDeo& vIDeo) = 0; };@H_404_12@我实际使用的VIDeoWrapper的子类是RawVIDeo,它看起来像这样
class RawVIDeo : public VIDeoWrapper { public: RawVIDeo(Letscher::VIDeo& vIDeo); virtual voID setVIDeo(Letscher::VIDeo& vIDeo); virtual voID getVIDeo(Letscher::VIDeo& vIDeo); private: Letscher::VIDeo* _vID;};Wade::RawVIDeo::RawVIDeo(Letscher::VIDeo& vIDeo): _vID(&vIDeo) {}voID Wade::RawVIDeo::setVIDeo(Letscher::VIDeo& vIDeo) { *_vID = vIDeo;}voID Wade::RawVIDeo::getVIDeo(Letscher::VIDeo& vIDeo) { vIDeo = *_vID;}@H_404_12@因此,当我调用_vID.getVIDeo(vID)时,我希望它采用VIDeo对象vID,并将其值设置为RawVIDeo中的私有数据.但由于某种原因,我调用此函数的方式与我的代码不匹配.
任何帮助都会很棒,谢谢.
@H_419_4@解决方法 Letscher :: VIDeo vID();不默认构造变量vID.它声明了一个函数vID,它不带任何参数,并返回一个Letscher :: VIDeo.你可能想要Letscher :: VIDeo vID;代替.
@H_419_4@ @H_419_4@ @H_419_4@ @H_419_4@ 总结以上是内存溢出为你收集整理的C和参考文献全部内容,希望文章能够帮你解决C和参考文献所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
概述我目前正在开发一个包含多个文件的项目,并且有点复杂(在保持继承权方面).我收到编译错误,我认为它与引用有关.这是我在编译时遇到的错误 videotodatastream.cpp: In member function ‘virtual void Wade::VideoToDataStream::getData(std::string&)’: videotodatastream.cpp:33 @H_419_4@ 我目前正在开发一个包含多个文件的项目,并且有点复杂(在保持继承权方面).我收到编译错误,我认为它与引用有关.这是我在编译时遇到的错误
赞
(0)
打赏
微信扫一扫
支付宝扫一扫
数组索引循环变量在C,C中重置为零
上一篇
2022-06-05
printf(“string1”“string2”)是这个有效的C?
下一篇
2022-06-05
评论列表(0条)