C++ 错误:没有匹配所有 to 的函数

c++ error: no matching function for all to

本文关键字:to 函数 错误 C++      更新时间:2023-10-16

我正在尝试实现一个使用其构造函数返回类对象的函数。该类对象仅作为带有参数的构造函数,并且没有任何默认构造函数(因为我不需要它)。当我尝试返回该类对象时 - 出现该错误。

基地.cpp

派生基::运算符+ (){ 返回派生(*this);没有用于调用"派生::D派生(派生)"的匹配函数}

基数.h

虚拟派生运算符+ ();

派生.h构造 函数:

派生(基数&b);

派生(派生&d);

1. 我该怎么做才能修复该错误?

2. 声明(常量派生&)和(派生&)之间有什么区别?

谢谢

Derived&不会绑定到临时对象。您的operator+返回临时的。

解决方案:添加const const&将绑定到临时。

相关文章: