我想在我的代碼中的幾個地方開始使用枚舉,但是我對編譯器以前的聲明有問題。目前聲明的枚舉如何對我最有意義:範圍枚舉的最佳替代方法 - Pre C++ 11
避免這種情況的最佳方法是什麼?
enum score_methods_t {NONE,ABS_FROM_PERFECT,ERROR_SQUARED};
enum scale_methods_t {NONE,CASES_MULTIPLIER,RANGE_MULTIPLIER};
我應該讓所有的東西都是唯一的,還是使用命名空間作用域?我想在類中使用枚舉類型,而NONE是最具描述性的名字!
也是原因的枚舉衝突是因爲本質上只是#defines在引擎蓋下?
使用這種方法,你如何聲明枚舉類型的變量,類成員,函數參數? – ulidtko
@ulidtko使用':: type',如'score_methods :: type'中的。這是您在C++ 11之前付出的代價。 :) –
是啊......我們可以聲明一個相同枚舉類型的'score_methods :: value'成員,並使用隱式結構賦值運算符嗎?這對我來說看起來更安全。 – ulidtko