friend Fraction operator=(const Fraction &newfraction) {
Fraction changedfraction;
changedfraction.numerator = newfraction.numerator;
changedfraction.denominator = newfraction.denominator;
changedfraction.simplify(changedfraction.numerator,
changedfraction.denominator);
return (changedfraction);
}
-11
A
回答
3
带签名Fraction operator=(const Fraction &newfraction)
的赋值运算符必须是成员函数。 A friend
功能不是会员。所以参数的数量与赋值所需的数量不匹配。删除friend
并确保它被声明为成员函数。
struct Fraction
{
Fraction& operator=(const Fraction &newfraction) { .... }
....
};
另请注意,传统上赋值运算符返回对*this
的引用,而不是值。
+0
非常感谢你juan。我解决了错误,但是当我从main调用它时,它会给我一些任意的数字。我不能采取正确的结果 – Can
+0
@可以你的实现必须是越野车然后。 – juanchopanza
相关问题
- 1. 我刚刚下载StdDraw3D.java,我想尝试运行它...但它给这些错误
- 2. 我想创建一个表,但它给我一个错误
- 3. 我想创造一个表,但它给了我错误1046
- 4. 在C++运算符重载是给我一个错误
- 5. 我试图运行此程序GreetingClient但它给我的错误
- 6. 如何在c#中重载一元运算符=。它给错误
- 7. 我想在浏览器中加载我的servlet,它给了我这个错误
- 8. 我想检查并运行下面的代码,但它给了我预期的错误标识符
- 9. C++模糊运算符过载错误
- 10. 错误的运算符()过载调用
- 11. C++过载运算符<错误
- 12. 我想在MARS MIPS中划分,但它给了我错误的答案
- 13. 我想建立使用maven项目 - “MVN全新安装”,但它给我错误
- 14. 运算符重载错误?
- 15. 我想创建表,但它显示我2错误,我如何解决它?
- 16. 我想计算一个字符串的长度,但我得到通知错误
- 17. 减号运算符在mysql中给我错误
- 18. 它给了我错误
- 19. 我想创建一个计算器,但它不会给我任何结果
- 20. 我想运行我的流星应用程序,但它给了一堆的错误
- 21. 我想将日期参数传递给我的存储过程。但它不适合我。它向我返回一个错误。我将如何解决它?
- 22. 我(想)我想使用BItWise运算符来检查useraccountcontrol属性!
- 23. 为什么我的编译器给出错误,当我重载增量运算
- 24. 我跑intelhaxm-android.exe,它给了我错误
- 25. []运算符的运算符过载
- 26. 我想在textview中获取JSON数据,但它给出了一个错误
- 27. 我想用PHP来显示列的总和,但它给我0
- 28. 我想检查网络状态,但它给我nullPointerException为什么?
- 29. 我想创建CustomCell但它给一些错误,如何解决它?错误描述如下
- 30. 我想将一个输入变量传递给另一个页面,但它带给我一个错误
**什么**错误? –
这是一个赋值运算符的非正则版本。赋值运算符只应该做一件事,一件事就是创建一个传入的对象到一个现有对象的副本。它不应该执行诸如“简化”的“业务逻辑”。 – PaulMcKenzie
@PaulMcKenzie:我不同意。如果我们假设“简化”不会在语义上改变正在分配的“值”,只是优化它的表示,那么调用它就绝对没问题。这就像'std :: string'在'swap'上修剪它的容量。它不是“业务逻辑”(讨厌这个词!)。 OP函数的真正问题在于它是一个非成员操作符,它仅仅占用一个操作数,甚至不会将任何东西分配给应该是LHS操作数的东西。 –