我正在嘗試創建一個通用容器(例如下面的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