0

少し質問があります。関数で %i を使用できますか? これが私がしなければならないことです。関数コールバックがあります:

engine.gui->menu.addItem(Menu::AGILITY,"Agility (+1 defense)");

そして、私はそれをこのように使いたい:

engine.gui->menu.addItem(Menu::AGILITY,"Agility (%i defense)",engine.level);

それをどのように実装する必要がありますか、それとも不可能かもしれませんか? 私は何かをしようと最善を尽くしましたが、うまくいきませんでした。:( 私がこれをやりたい理由は、プレイヤーが次のレベルに復讐し、engine.level カウントが ++ になるためです。そのため、プレイヤーのレベルが上がると、さまざまなレベルでより多くの敏捷性を得ることができ、次にレベリングを行うと、彼はいくつ通知されるかを知ることができます。彼が得ることができた敏捷性。

4

2 に答える 2

1

ほとんどの場合boost::formathttp://www.boost.org/doc/libs/1_54_0/libs/format/)は、あなたが望むことをするはずです。正確な構文ではありませんが、近いはずです。

于 2013-08-07T17:22:56.273 に答える
0

C++11 を使用している場合は、次のことができます。

engine.gui->menu.addItem(
        Menu::AGILITY,
        "Agility (" + std::to_string( engine.level ) + " defense)" );

C++11 を持っていない場合は std::to_string、ツールキットに同等のものを用意する必要があります。何かのようなもの:

template <typename T>
std::string
toString( T const& obj )
{
    std::ostringstream result;
    result << obj;
    return result.str();
}
于 2013-08-07T18:13:48.290 に答える