gpt4 book ai didi

c++ - 试图传入另一个类的枚举

转载 作者:行者123 更新时间:2023-11-27 23:22:19 24 4
gpt4 key购买 nike

我有两个类,一个是 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/

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