C++类中嵌套enum用法解决方案
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
------解决方案--------------------
楼上正解
------解决方案--------------------
改为:
typedef enum { READ, WRITE}OpenMode;
------解决方案--------------------
file.open(OpenMode::READ,"c:\\1.txt");
不需要OpenMode::READ,直接用READ即可
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
------解决方案--------------------
楼上正解
------解决方案--------------------
改为:
typedef enum { READ, WRITE}OpenMode;
------解决方案--------------------
file.open(OpenMode::READ,"c:\\1.txt");
不需要OpenMode::READ,直接用READ即可