作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个类,一个是 Driver,另一个是 FilterOut。在 Driver 中,我有一个名为 lights 的枚举,我将其作为 int 正确传入 FilterOut。我无法弄清楚如何将其作为枚举来执行此操作。
我的 Driver 类中的枚举
enum lights{yellow, green, red, blue};
这对我有用。
void FilterOut::LightIn(int light)
{
switch(light);
}
我想做什么。
void FilterOut::LightIn(lights light)
{
switch(light);
}
我尝试了这个和几个变体,但没有运气,有什么想法吗?我还尝试在 FilterOut 中包含一个枚举,它与 Driver 中的枚举相同,并且现在可以正常工作
最佳答案
如果枚举在 Driver
类中,则必须限定其名称:
class FilterOut {
public:
void LightIn(Driver::lights light);
};
void FilterOut::LightIn(Driver::lights light)
{
switch(light);
}
您还必须在调用函数时限定查找范围:
FilterOut f;
f.LightIn(Driver::red);
关于c++ - 试图传入另一个类的枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11959090/
我是一名优秀的程序员,十分优秀!