gpt4 book ai didi

C++ 错误 : no matching function for all to

转载 作者:行者123 更新时间:2023-11-28 06:29:07 26 4
gpt4 key购买 nike

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

基础.cpp

派生基础::运算符+ (){ 返回派生(*这个);//没有匹配函数来调用‘Derived::Derived(Derived)’

基础.h

虚拟派生运算符+();

Derived.h//构造函数:

派生(基础&b);

派生(派生&d);

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

2。声明 (const Derived &) 和 (Derived &) 有什么区别?

谢谢

最佳答案

Derived& 不会绑定(bind)到临时对象。您的 operator+ 返回一个临时值。

解决方案:添加 const 因为 const& 将绑定(bind)到临时对象。

关于C++ 错误 : no matching function for all to,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27959561/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com