我正在尝试创建一个通用容器(例如下面的java代码),它有一些限制,例如大于某个限制的项目不能放在其中。问题是,由于T是一个未知类型,因此带整数的比较函数报告错误。如何解决这个问题?通用/模板类型检查
其次,如果代码是用C++编写的,是否有解决方案?
public class Box<T> {
private T val;
private int max;
public Box (int m, T initval) { max = m; val = initval; }
public T get() { return val; }
public void set(T newval) {
val = newval;
if(newval.toInt() >= max) // error on toInt
System.out.printf("ERR: size too big\n");
}
}
在C++中,我相信你必须有'operator> ='在你的类型名称'T'(或'operator' =''接受'T'和'int')中接受'int'。 – 2012-02-03 17:37:00
非常感谢。 – R71 2012-02-04 04:57:42