我不断收到“向量迭代器不兼容”以执行以下代码:
Tag Som::UpdateAfterTagMessageExciter(string detectedTagID, unsigned char ReaderID, unsigned char antData, SSensors Sensors,bool staff, int BatLevel, int RSSI, int temperature)
{
tagsIT = search (m_DetectedTags.begin(), m_DetectedTags.end(), searchTag,
searchTag+1,TagCollection::SearchTagsCollByTagIDPredicate);
if (tagsIT<m_DetectedTags.end())
{
//do something
}
SearchTagsCollByTagIDPredicate 如下:
static bool SearchTagsCollByTagIDPredicate (Tag i, string tagID)
{
string secondTag= i.GetTagID();
return (tagID==secondTag);
}
其中 m_DetectedTags 向量不在此块之外使用。每次 LF 天线检测到标签时,都会重复调用该函数。它发生在搜索调用中。我尝试调试但无济于事。
我尝试用一个简单的 for 循环替换搜索,但它仍然不起作用。
任何想法为什么搜索导致错误?谢谢!