2012-02-08 12 views
5

Vala'da bir maksimum() genel işlevi yazdım. Ancak, derleme yapmıyor. İşte burada:Vala'da genel işlev

generics.vala:2.12-2.16: error: Relational operation not supported for types `T' and `T' 

bu işlev derlemek edebilmek için sana nasıl çözebileceğinizi biliyor musunuz:

T maximum<T>(T a, T b) { 
    return a > b ? a : b; 
} 

void main() { 
    stdout.printf("%d\n", maximum(10, 2)); 
} 

aşağıdaki hata var? Teşekkürler.

cevap

5

Genel doğrudan karşılaştırma ve diğer çeşitli işlemler mevcut Vala tarafından desteklenmiyor. Bunun yerine bir compare_to() yöntemini kullanmak için Gee.Comparable arabirimini kullanmak ve uygulamak isteyebilirsiniz.

İlgili konular