Chciałbym zacząć używać wyrażeń w kilku miejscach w moim kodzie, ale mam problem z poprzednimi deklaracjami z kompilatora. Sposób, w jaki obecnie deklarowane są enum, ma dla mnie najwięcej sensu:Najlepsza alternatywa dla wyliczeń z zakresem - Pre C++ 11
Jaki jest najlepszy sposób na uniknięcie takiej sytuacji?
enum score_methods_t {NONE,ABS_FROM_PERFECT,ERROR_SQUARED};
enum scale_methods_t {NONE,CASES_MULTIPLIER,RANGE_MULTIPLIER};
Czy powinienem zrobić wszystko, co unikalne, lub zakres z przestrzenią nazw? Chciałbym użyć typów enum w klasie, a NONE jest najbardziej opisową nazwą!
Również powód starcia z enumsami polega na tym, że w zasadzie są tylko # definicjami pod maską?
Przy użyciu tego podejścia, jak zadeklarować zmienne, członków klasy, argumenty funkcji typu wyliczenia? – ulidtko
@ulidtko Używając ':: type', jak w' score_methods :: type'. To cena, którą płacisz w pre-C++ 11. :) –
Tak ... Czy możemy zadeklarować element 'score_methods :: value' o tym samym typie wyliczenia i użyć jakiegoś niejawnego operatora przypisania struktury? To wygląda na bardziej bezpieczne dla mnie. – ulidtko