我正在尝试在一个类中创建一个函数,该函数返回一个指向映射的 const 指针。然后在另一个类中,我可以有一个函数,可以接受常量指针,声明迭代器,并将映射的内容复制到向量中。这个映射类到矢量类是练习的要求。我以前从未对映射做过 ptrs,而且我没有编译器喜欢的语法。这是我在 Map 中的函数声明:
class WordCount
{
public:
WordCount();
~WordCount();
void word_insert(std::string clean_word);
void print_all();
const std::map<std::string, int> * get_map();
private:
std::map<std::string, int> m_word_counts;
std::map<std::string, int>::iterator m_it;
std::pair<std::map<std::string, int>::iterator, bool> m_ret;
};
但是当我尝试这样定义函数(或我尝试过的许多变体)时,我得到一个转换错误。下面需要改变什么?
const map<string, int > * WordCount::get_map()
{
const map<string, int > *ptr = m_word_counts;
return ptr;
}
--