64,636
社区成员
发帖
与我相关
我的任务
分享
enum enumtest::test a = enumtest::test::choice1;
enum enumtest::test a = enumtest::choice1;
///enumtest.cpp
#include <iostream>
using namespace std;
class enumtest
{
public:
enum test
{
choice1,
choice2,
choice3,
choice4
};
};
int main()
{
enum enumtest::test a = enumtest::test::choice1;
cout <<a<<endl;
}
如果你文件是.c(c 文件)
那么自定义类型 不是一个作用域,:: 是非法的
如果是C++(.cpp,.cc,.cxx)应该两种都可以
enum test
{
choice1,
choice2,
choice3,
choice4
};
int x = test::choice1;// 这行代码中的 test::是可以不需要的,在VC中,这一个编译警告。
int y = choice1; // 这行代码是正确的
enum enumtest::test a = enumtest::test::choice1;
#include <stdio.h>
class enumtest
{
public:
enum test
{
choice1,
choice2,
choice3,
choice4
};
};
int main()
{
enum enumtest::test a = enumtest::test::choice1;
printf("Hello world");
}