Kodum içinde birkaç yerde enum kullanmaya başlamak istiyorum, ancak derleyiciden önceki beyanlarla ilgili bir sorunum var. Şu anda enumların nasıl bildirildiği en mantıklı:Kapsamlı enumlar için en iyi alternatif - Ön C++ 11
Böyle bir durumdan kaçınmanın en iyi yolu nedir?
enum score_methods_t {NONE,ABS_FROM_PERFECT,ERROR_SQUARED};
enum scale_methods_t {NONE,CASES_MULTIPLIER,RANGE_MULTIPLIER};
Sadece her şeyi benzersiz mi, yoksa alan adıyla mı kapsamalıyım? Bir sınıf içinde enum türlerini kullanmak istiyorum ve NONE en açıklayıcı isim!
Ayrıca enumların çarpışmasının sebebi de aslında thay sadece kaputun altındaki #defines'tir.
Bu yaklaşımı kullanarak, değişken türlerini, sınıf üyelerini, enum türünün işlev bağımsız değişkenlerini nasıl beyan edersiniz? – ulidtko
@ulidtko ':: type',' score_methods :: type' içinde olduğu gibi. Bu, C++ 11 öncesi ödeme bedeli. :) –
Evet ... Aynı enum türünde bir "score_methods :: value" üyesi bildirebilir ve örtülü struct assignment operatörünü kullanabilir miyiz? Bu bana daha güvenli bir şekilde görünüyor. – ulidtko