我正在尝试运行此功能:
os::TMXTileset* os::TMXMap::getTilesetFromGid(int gid)
{
TMXTileset* tileset;
std::map<std::string, TMXTileset>::iterator it;
std::map<std::string, TMXTileset>::iterator comp;
for (it=tilesetMap.begin(); it != tilesetMap.end(); it++)
{
comp = it;
comp++;
if ((gid >= it->second.getFirstGid()) && (gid < comp->second.getFirstGid()))
{
return &it->second;
}
}
tileset = &it->second;
return tileset;
}
..但它给了我这个错误:
“映射/设置迭代器不可取消引用”
我的第一个想法是停止取消引用它(使用 it->second 而不是 (*it).second),但这并没有改变任何东西。
有任何想法吗?