我正在尝试为某些东西创建一个类,我需要在int中使用++和 - 运算符。我有一个错误,它所说的"可加载二进制运算符"但我不知道这意味着什么。这是我的代码:
public static int operator ++(TriggerMeter m, int value)
{
if (m != null)
{
int newValue = m.Triggeredness + value;
m.Triggeredness = newValue;
return newValue;
}
return 0;
}
答案 0 :(得分:2)
运算符++
是一元运算符,您尝试将其视为二元运算符。返回类型也应该是包含类型。
所以你的代码正确签名应该是:
public static TriggerMeter operator ++(TriggerMeter m)
但是,您似乎想要覆盖+
运算符,该运算符与您实现的运算符相同,只需将++
替换为+
即可。
小心,因为您要更改对象中的值并返回它,这可能不是一个明显(和自然)的用法,并可能导致错误。