我有以下代碼:C++ STL地圖迭代器輸出值的十六進制
map<StatTypesEnum, ValueHandler*>::const_iterator itr;
for(itr=player1->Stats.begin(); itr!=player1->Stats.end(); itr++)
{
cout << "Stat: " << itr->first << " Value: " << (ValueHandler*)(itr->second)->getValue() << endl;
}
的的getValue()方法返回一個int。如果我在迭代器外面查找值,它將顯示爲base10 decimal,但是當我使用迭代器(如上所示)返回值時,它將顯示在base16,hex中。
只是爲了保持完整性,下面一行顯示爲base10:
cout << player1->Stats[Power]->getValue() << endl;
我想迭代器顯示base10。
謝謝。
是的 - 更簡單 - 出於某種原因,我認爲我需要投它itr->秒,但它已經是正確的類型。 - 謝謝 – IUnknown