关于类中的static成员

wenjinghuan999 2011-01-31 08:04:02
static成员不能是enum型的吗?为什么总是fatal error

class A
{
public:
enum ENUM_A { E1, E2 };
static void fun( enum ENUM_A );
private:
static enum ENUM_A eee;
};

void A::fun( enum ENUM_A at )
{
eee = at;
}
...全文
71 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovesi3344 2011-01-31
  • 打赏
  • 举报
回复
mark
寂寞的泡面 2011-01-31
  • 打赏
  • 举报
回复

#include <iostream>
using namespace std;

class A
{
public:
enum ENUM_A { E1, E2 };
static void fun( enum ENUM_A );
private:
static enum ENUM_A eee;
};

enum A::ENUM_A A::eee;

void A::fun( enum ENUM_A at )
{
eee = at;
}

int main()
{
return 0;
}

这样就不会报错了,再说说你的程序,首先,static enum ENUM_A eee;作为类的静态成员,要在类外面声明(像这样enum A::ENUM_A A::eee;),其次要注意声明的格式,因为enum在类中定义,所以要加类限定符A::修饰。

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧