我有一個包含字符串到精靈關聯的地圖。該函數用於返回在屏幕上繪製的精靈。下面是函數:返回地圖循環的問題
sf::Sprite LoopSprite()
{
for (std::map<std::string,sf::Sprite>::iterator it=SpriteMap.begin(); it!=SpriteMap.end(); ++it)
{
return it->second;
}
}
我用其中的取材容易做循環的載體有這些,但我想用一個地圖,以便更容易識別爲維護代碼。上面的功能只允許繪製地圖中的一幅圖像。這個功能有什麼問題嗎?
sf::Sprite LoopSprite(int element)
{
return vec[element];
}
正如指出的這個作品,因爲它需要的元素,以便只有一個回報,但我想,除了與地圖相同的結果。問題在於,發送0-vec.size很容易。我唯一的想法是有一個字符串的矢量,以便於循環。
你是如何嘗試使用這個功能嗎?它將在第一次迭代時簡單地返回第一個「sf :: Sprite」。它也不適用於矢量。 – 2013-04-05 18:31:45
你正在第一次迭代本身! – Naveen 2013-04-05 18:32:45
換句話說,你的函數和sf :: Sprite LoopSprite(){返回SpriteMap.begin() - > second; }' – jrok 2013-04-05 18:34:55