c++ 关于enum的问题

来源:百度知道 编辑:UC知道 时间:2024/05/12 16:12:58
在一个文件里A.h定义一个类,
class A
{
public:
enum color{red, white};//只是类型color,类里不定义color的实例
void UseColor(color);//这个成员函数的参数用到枚举类型
}

在另一个文件里定义main函数
#include <A.h>
int main()
{
A::color Color=A::color::red;//定义一个A类里color的实例,作为参数,准备让成员函数调用
A a;//建立一个类的实例
a.UseColor(Color);
}
我在linux下编程;make的结果是A::color Color=A::color::red这行有错,高手帮我一下好不好,不管是visual c++还是gcc,大家用的都是C++,我相信这个问题与编译系统无关,纯属语法错误。谢谢

试了一下,你参考下。
1、类定义后加";"
2、成员函数定义完后写好函数体。
3、main函数你那样写是没有错的。
#include <stdio.h>

class A
{
public:
enum color{red, white};//只是类型color,类里不定义color的实例
void UseColor(color co)//这个成员函数的参数用到枚举类型
{
if (co == red)
printf("red");
else if (co == white)
printf("white");
}
//成员函数要写出函数体呀。
} ;
////要加;号

int main()
{
A::color Color=A::color::red;//定义一个A类里color的实例,作为参数,准备让成员函数调用
A a;//建立一个类的实例
a.UseColor(Color);
return 0;
}

A::color Color=A::color::red
改成
A::color Color=A::red

一楼是对的:)