gpt4 book ai didi

c++ - 从一个类中访问一个枚举,这两个类都在同一个命名空间中

转载 作者:太空宇宙 更新时间:2023-11-04 14:17:44 25 4
gpt4 key购买 nike

我有类似以下设置的东西:

namespace MyNamespace
{
enum MyEnum{
Type1,
Type2
};

class MyClass
{
private:
void MyFunction( MyEnum::Type1 );
};
}

我会假设因为 MyEnumMyClass 都在 MyNAmespace 中,所以在类中使用枚举类型不会是问题,但是当我尝试编译它时出现以下错误:

'MyEnum::Type1' is not a type

我该如何解决这个问题,以便我可以在同一个命名空间中使用我的枚举和类?

最佳答案

MyEnum 是您引用它的方式。

namespace MyNamespace
{
enum MyEnum{
Type1,
Type2
};

class MyClass
{
private:
void MyFunction( MyEnum );
};
}

定义可能如下所示:

namespace MyNamespace
{
void MyClass::MyFunction( MyEnum val) {
if (val == Type1)
std::cout << "Type1" << std::endl;
}
}

关于c++ - 从一个类中访问一个枚举,这两个类都在同一个命名空间中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9910164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com