いくつかの制限があるジェネリックコンテナ(たとえば、以下のJavaコード)を作成しようとしています。たとえば、いくつかの制限を超えるアイテムを入れることはできません。問題は、Tが未知の型であるため、整数を持つ比較関数がエラーを報告していることです。この問題を解決するには?ジェネリック/テンプレートタイプのチェック
第2に、コードが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++では、型名 'T'に' int'を受け入れる 'operator> ='(あるいは 'T'と' int'を受け入れる 'operator> ='の特殊化)を持たなければならないと思います。 –
ありがとうございました。 – R71