本来想把重载的操作符,放在一个公共类或者命名空间中
当引用了指定命名空间时,就可以是用重载的运算符。
结果悲剧发生了!提示“二元运算符的参数之一必须是包含类型”
问题原因:没有把重载的实现,写在操作符左或右边的类型中
-------------- 错误写法 --------------
public class Comple
{
public int MyFun()
{
// 你的实现
}
}
public class OperatorTest
{
// 这里的操作符重载会报错!!!
public int operator +(Comple v1, Comple v2) // 重载 + 操作符
{
// 你的实现
}
}
-------------- 正确写法 --------------
public class Comple
{
public int MyFun()
{
// 你的实现
}
public int operator +(Comple v1, Comple v2) // 重载 + 操作符
{
// 你的实现
}
}