在(c ++)cocos2dx

时间:2015-07-08 08:06:10

标签: c++ cocos2d-x cocos2d-x-3.0

这是我想要添加地图对象的向量

  std::vector<cocos2d::Value> optionButton = std::vector<cocos2d::Value>();


 for (int i = 0; i < answerButton.size(); i++)
{
    value = answerButton.at(i).getDescription();

    if(strcmp(value.c_str()," ") == 0)
    {
        CCLOG("Space Detected %s", "Space Detected");

    }
    else
    {
        std::map<std::string ,std::string> keyval;
        keyval["letter"] = value;
        keyval["is_actual"]= "true";

        optionButton.push_back(keyval);            
    }

我想将&#34; keyval&#34;对象添加到&#34; optionButton&#34;向量。这可能吗??

2 个答案:

答案 0 :(得分:1)

请验证这是否有效?

std::vector<std::unordered_map> optionButton = std::vector<std::unordered_map>();
for (int i = 0; i < answerButton.size(); i++){
  value = answerButton.at(i).getDescription();

  if(strcmp(value.c_str()," ") == 0) CCLOG("Space Detected %s", "Space Detected");
  else {
    std::unordered_map<std::string ,std::string> keyval;
    keyval["letter"] = value;
    keyval["is_actual"]= "true";

    optionButton.push_back(keyval);
  }
}

答案 1 :(得分:0)

您应该使用std::unordered_map代替。

来自the reference

  

cocos2d::Value是许多基元的包装类(intfloatdoubleboolunsigned char,{{1} }和char*)   加std::stringstd::vector<Value>和   std::unordered_map<std::string,Value>

您不必更改代码。

我没有尝试,但我认为这应该有效(完全基于我引用的内容):

std::unordered_map<int,Value>