我有一个关于枚举和浮点数的问题。 我想通过一个枚举作为一个浮动是可能的吗?通过枚举浮点数
下面的代码的轮廓:
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(大小,enumSize),因为据我所知,枚举只能是整数且不能被铸造成为浮动?如果是这种情况,有什么办法可以使我的当前设置成为浮动状态?
如果我的布局有些困惑,请告诉我,我会尽力解决任何困惑。
我知道这不是我的确切代码,它比上面更复杂,但上面是我想要完成的一个例子。 – sean
我同意这种做法。如果你把'const float's放在很大程度上取决于API的结构 - 大小对象应该知道小的,中等的和大的值,还是应该由其他中介处理?如果是后者,则可以将每个float作为“CommonSizeValues”类的静态成员。是的,这是一种非常Java/C#的方式,但它可以在不需要处理混乱的命名空间问题的情况下工作。 – Randolpho
一切都很好,直到你调用'setSize(mySize,3.14159);'''除非你希望'footSize'是整数值'3'而不是float值'PI'。 –