gpt4 book ai didi

c++ - 覆盖 C++ 中的运算符重载?

转载 作者:太空狗 更新时间:2023-10-29 23:42:41 25 4
gpt4 key购买 nike

大家好

我有复杂的类调用

我是这样操作符重载的

Complex c = a + b; // where a and b are object of Complex class 

基本上是 operator+(Complex& that);

但是我不知道怎么说例如

double c = a + 10; //where a is object of Complex class but 10 is integer / double  

我确实将 a 的类型转换定义为 double 让我的 IDE 说操作数太多 + 并且它以某种方式提示无法“理解” +

尽管 double c = a + 10;

但它必须采用这种格式

谢谢

错误信息是

Error: more than one operator "+" matches these operands: 
error C2666: 'Rational::operator +' : 3 overloads have similar conversions

1> could be 'const Complex Complex::operator +(const Complex &)' 1>
or 'double operator +(const Complex &,double)'

编译器不能根据签名选择?是的,我确实在类外定义了它,因为我在类内定义了一个,谢谢

最佳答案

double operator+(const Complex &c, int x)
{
//....
}

关于c++ - 覆盖 C++ 中的运算符重载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2862381/

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