簡體   English   中英

在 C++ 中的枚舉中使用訪問值的正確方法是什么

[英]What is the right way to use access a value in an enumeration in C++

我在編碼時遇到過這個問題,我不確定為什么會這樣。 考慮這個代碼

情況1

#include<iostream>

enum test{
a,b,c,d,e,f
};

int main(){
    std::cout << a;
    return 0x1;
}

案例二

#include<iostream>

enum test{
a,b,c,d,e,f
};

int main(){
    std::cout << test::a;
    return 0x1;
}

為什么代碼都能正確編譯和執行? 使用枚舉時是否不需要使用test::

不, test::不是必需的,因為enum test聲明了一個無作用域的enum。 當您像這樣定義作用域枚舉時, test::將變得必要:

enum class test {...};

有關更多詳細信息,另請參閱https://en.cppreference.com/w/cpp/language/enum

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM