我有一个关于枚举和浮点数的问题。 我试图通过枚举作为浮点数这可能吗?
以下是代码大纲:
enum
{
none = 0,
small,
medium,
large,
} enumSize;
class size
{
float footsize = 0.0;
}
void setSize(size &Size, float value)
{
Size.footsize = value;
}
int main()
{
size Size;
setSize(Size, enumSize);
}
但是我不能调用setSize(Size,enumSize),因为据我所知,枚举只能是整数并且不能被转换为浮点数?如果是这种情况,有没有办法让我的当前设置浮动?
如果我的布局有点混乱让我知道,我会尽力解决任何困惑。
答案 0 :(得分:4)
当然,整数可以转换为浮点数,但枚举不适合这种工具。只需使用const float
s。
顺便说一句,您的代码也不会出于其他几个原因进行编译。
答案 1 :(得分:1)
不涉及任何投射,只是转换。普通枚举是整数值,当您将其中一个传递给一个带浮点值的函数时,该值将转换为float。
enum enumSize {
none,
small,
medium,
large
};
void f(float);
void g() {
f(small);
}