我有一个问题,可以在函数中使用%i吗?这是我需要做的。我有一个函数回调:

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


我想以这种方式使用它:

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


我该如何实施,或者甚至不可能?
我尽了最大的努力去做一些事情,但是却没有做到。 :(
我要这样做的原因是,玩家报仇达到了一个新的水平,engine.level计数变为++,因此,玩家升级后,他可以在不同的级别获得更多的敏捷性,然后通过练级可以知道他有多少敏捷可以得到。

最佳答案

如果您拥有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();
}

关于c++ - C++:如何在函数中使用%i?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18109563/

10-09 05:59