小弟想重载泛型的记录类型操作符,不知道该怎么做,求帮助!!
Class Test<T>
{
public static bool operator > (T left, T right)//提示“二元运算符的参数之一必须是包含类型”错误。。。
{
......
}
public void tt()
{
T a,b;
if( a > b) //想重载了以后直接用操作符比较记录类型
{
......
}
}
}
------解决思路----------------------
“想重载了以后直接用操作符比较记录类型”
这可是典型的“空想”。既然 T 不过是个模板名词儿,它就无法具体去编译什么代码。只有 Test<T> 才是可以编译的。
------解决思路----------------------
比较重载只能是当前类,怎么可能给泛型T做operator 呢,如果你真要这么做,你应该是定义一个比较的接口