[英]What is the right way to use access a value in an enumeration in C++
我在編碼時遇到過這個問題,我不確定為什么會這樣。 考慮這個代碼
#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.