读书人

C++类中嵌套enum用法解决方案

发布时间: 2013-12-13 13:57:17 作者: rapoo

C++类中嵌套enum用法
class File
{
public:

enum OpenMode{ READ, WRITE};

void open( OpenMode , const char* filename ){}
};
int main()
{

File file;

file.open(OpenMode::READ,"c:\\1.txt");

return 0;
}

编译后 出现错误:test1.cpp:21: 错误:‘OpenMode’未声明
这种用法应该是正确的,未找到出错原因,望指正,谢谢!
[解决办法]
file.open(File::READ,"c:\\1.txt");//这不是C#,C#才OpenMode::READ
[解决办法]

引用:
file.open(File::READ,"c:\\1.txt");//这不是C#,C#才OpenMode::READ
楼上正解
[解决办法]
改为:
typedef enum { READ, WRITE}OpenMode;
[解决办法]
file.open(OpenMode::READ,"c:\\1.txt");

不需要OpenMode::READ,直接用READ即可

读书人网 >C++

热点推荐