我有一個關於枚舉和浮點數的問題。 我想通過一個枚舉作爲一個浮動是可能的嗎?通過枚舉浮點數
下面的代碼的輪廓:
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'。 –