可能重複:
Arithmetic operator overloading for a generic class in C#操作泛型重載
這裏是我創建加複數重載運算符泛型類的代碼。
public class Complex<T>
{
public T _a, _b;
public Complex(T i, T j)
{
_a = i;
_b = j;
}
public static Complex<T> operator +(Complex<T> i, Complex<T> j)
{
return new Complex<T>(i._a + j._a, i._b + j._b);
}
}
有了這個,我已經得到的錯誤工作時,
Error: Operator '+' cannot be applied to operands of type 'T' and 'T'
任何一個可以建議我的方式,我可以使用運算符重載泛型?
http://stackoverflow.com/questions/756954/arithmetic-operator-overloading-for-a-generic-class-in- C-尖銳 – Habib
和也:http://stackoverflow.com/questions/147646/solution-for-overloaded-operator-constraint-in-net-generics不能夠限定值類型與操作符重載是C#的一個嚴重的限制。根本沒有可用的滿意工作。 – citykid
這不應該是通用的。只有在有**的任何**類型時纔有意義;這就是爲什麼他們被稱爲*泛型*。 –