我正在尝试运行一个应用程序,它在应用程序验证程序下通过网络处理客户端 应用程序包含一个维护客户端的映射,以及一个最大计数为1的信号量来锁定映射 没有验证程序它运行时没有错误,但是当附加验证程序时,我得到以下运行时错误:
map / set iterator not incrementable
代码如下:
Lock l(_mapLock); // This object uses a semaphore for synchronization
MapType::iterator it;
ClientInfo info;
it = _clientsMap.begin();
for (it = _clientsMap.begin(); it != _clientsMap.end(); it++) {
(*it).second->getInfo(&info);
if (strcmp(info.ip, clientIp.c_str()) == 0) {
return DUPLICATE_CLIENT;
}
}
对可能的原因有任何想法吗?
提前致谢。