Мой вопрос почти идентичен этому , но решение там не разрешило мою ошибку.
В main.h
У меня есть:
#include <map>
#include <string>
std::map<std::string, int64_t> receive_times;
И в main.cpp
:
std::map<std::string, int64_t>::const_iterator iter;
std::map<std::string, int64_t>::const_iterator eiter = receive_times.end();
for (iter = receive_times.begin(); iter < eiter; ++iter)
printf("%s: %ld\n", iter->first.c_str(), iter->second);
Однако, когда я пытаюсь скомпилировать, я получаю следующую ошибку:
error: invalid operands to binary expression ('std::map<std::string, int64_t>::const_iterator' (aka '_Rb_tree_const_iterator<value_type>') and 'std::map<std::string, int64_t>::const_iterator'
(aka '_Rb_tree_const_iterator<value_type>'))
for (iter = receive_times.begin(); iter < eiter; ++iter)
~~~~ ^ ~~~~~
Решение вопроса, с которым я связан в верхней части, таково:потому что там отсутствовал #include <string>
, но, очевидно, я включил это.Есть намеки?