C18'de enum Kontrolü

Başlatan Tagli, 11 Ağustos 2011, 15:50:58

Tagli

Enumeration, pek kullanmadığım için acemisi olduğum bir konu.

Şu şekilde bir tanımlama yaptım:
enum dataType{
     RAW_DATA = 0
};


Ancak derleyici bunun kontrolünü yapmıyor. Şöyle ki,
enum dataType deneme = RAW_DATA;

yazabildiğim gibi
enum dataType deneme = 5;

de yazabiliyorum. Normalde, ikinci durumda derleyicinin hata vermesini beklerdim. Gözümden kaçan bir nokta var mı?
Gökçe Tağlıoğlu

JKramer

Normalde C'de de hata vermediği için, derleyici uyumluluk açısından hata vermemeyi tercih etmiş. Yukarıdaki kod, CCS'de "out of range" hatası verip derlenmiyor mesela.

Tagli

Evet, az önce normal C'de denedim, durum aynı. Bu durumda enum kullanmanın da pek bir avantajı kalmıyor gibi.
Gökçe Tağlıoğlu