1

アプリケーション検証ツールの下で、ネットワーク経由でクライアントを処理するアプリケーションを実行しようとしています。
アプリケーションは、クライアントを維持するためのマップと、マップをロックするための最大カウント 1 のセマフォを保持します。
ベリファイアがなくてもエラーなしで実行されますが、ベリファイアがアタッチされていると、次のランタイム エラーが発生します。

map/set イテレータはインクリメント不可

次のコードの場合:

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; 
  } 
}

考えられる原因について何か考えはありますか?

前もって感謝します。

4

0 に答える 0