我试图重载我的运算符,它实际上只是一个包含算术函数和数组变量序列的类。
但是当我重载 (*) 乘法运算符时,我收到此错误:
binary '*' : no global operator found which takes type 'statistician'
(or there is no acceptable conversion)
当我的代码尝试执行以下操作时会发生这种情况:s = 2*u;
在main.cpp中
其中 s 和 u 是统计学家类别。
统计学家=我的班级
(统计学家.h)
class statistician
{
... other functions & variables...
const statistician statistician::operator*(const statistician &other) const;
..... more overloads...
};
任何帮助都会很棒谢谢!!
声明命名空间范围operator*
,这样您还可以拥有敞篷车上的操作数left非类型的手侧statistician
.
statistician operator*(const statistician &left, const statistician &right) {
// ...
}
不用说,您应该删除类内的,并且您需要一个转换构造函数来获取int
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)