c++ map iterator no match for operator +
时间: 2023-02-08 21:42:07 浏览: 94
这是一个编译错误。它表示在使用 "c++ map" 的迭代器时,没有找到匹配的操作符。这可能是由于使用了错误的操作符或者在迭代器上使用了不正确的方法导致的。建议检查代码,确保使用了正确的操作符并且在使用迭代器时遵循了正确的语法。
相关问题
C++代码出现如下错误,怎么解决? error: no match for 'operator==' in 'it._gnu_cxx::_normal_iterator<_Iterator,_Container>::operator-><Student_ljh>*,std::vector<Student_ljh>>()->Student_ljh::stuNum==keyNum'
这个错误提示是因为你在代码中使用了一个对象的 `operator==`,但是该对象并没有定义 `operator==`。你需要确认一下代码中涉及到 `operator==` 的对象是否定义了该运算符。
如果你使用的是自定义的类对象,那么你需要自己实现 `operator==` 运算符。如果你使用的是 STL 容器中的对象,那么这些对象一般都已经定义了 `operator==` 运算符,你可以检查一下你的代码是否使用了正确的容器类型,以及容器中的对象类型是否正确。
另外,根据错误提示中的代码片段来看,可能是你在使用 STL 容器 `vector` 的 `find` 函数时出现了这个问题。你需要确保你的容器中的对象类型支持 `operator==` 运算符,或者你可以使用其他的查找算法来替代 `find` 函数。
阅读全文