マップへの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;
}
-