2
我試圖使用(char) enum
來存儲我的等級,然後使用cout輸出它們,但它沒有正確輸出。從枚舉輸出錯誤值
#include <iostream>
using namespace std;
enum rank : char {
first = '1', second = '2', third = '3'
};
int main()
{
// other code ...
cout << rank::third;
// other code ...
}
它輸出51
!!!看這裏 - (?)http://ideone.com/8vHzQ5
這看起來像ASCII值,所以我應該種姓他們回char或一些其他類型的(我爲什麼需要這麼做時,我已經寫char
針對枚舉),否則什麼這裏錯了嗎?
是的,將其重新轉換爲char。基本上,enum的值是int。 'int n ='1'; std :: cout << n;' –
您也可以爲參考頁面底部的例子中看到的'std :: ostream&operator <<'創建一個重載:http://en.cppreference.com/w/CPP /語言/枚舉 – UnholySheep