一個快速的C++問題(我認爲)。我有一個包含在其頭文件中的公共枚舉變量的類:如何定義類中包含的枚舉變量
class TritonRackController {
public:
enum CurrentMode {MODE_COMBI, MODE_PGM, MODE_MULTI};
// etc.
};
然後,使用這個類的一個對象,當我需要設置爲CURRENTMODE值的變量:
TritonRackController* tritonRackController = new TritonRackController();
TritonRackController::CurrentMode tritonMode = tritonRackController->CurrentMode;
// compile error on line above: Invalid use of 'enum TritonRackController::CurrentMode
我認爲這會編譯好,但是爲什麼它不會。另外,我在枚舉語句中假設我已經定義了一個類型 - 是否正確?
謝謝你們 皮特
我想你婉這樣說這個:'TritonRackController :: CurrentMode tritonMode = TritonRackController :: MODE_COMBI' –
你需要發佈所有的代碼,但你可能誤解了'tritonRackController-> CurrentMode'意味着什麼e編譯器。 –
Ahh解決了這個問題:enum CurrentMode定義了一個類型,然後我添加了一個變量定義:CurrentMode currentMode;在課堂裏。然後,我可以訪問它:TritonRackController :: CurrentMode tritonMode = tritonRackController-> currentMode。我的問題是我把enum當作變量混淆了,當它更像是一個typedef。 – Pete855217