を出力++のSTLマップイテレータ:Cの値私は、次のコードを有する六角
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の10進数で表示されますが、イテレータを使用して値を返すと(前述のように)、base16の16進数で表示されます。
ただ、完全を期すために、次の行がbase10として表示されます。
cout << player1->Stats[Power]->getValue() << endl;
私はbase10を表示するには、イテレータをしたいと思います。
ありがとうございました。
はい - はるかに簡単です - 何らかの理由で私はitr-> secondをキャストする必要があると思っていましたが、すでに正しいタイプです。 - ありがとう – IUnknown