std :: mapのキーとして文字列を使用しようとしています。その文字列はプログラムのさまざまな部分から変更できますが、問題が発生しますデータをマップに簡単に格納することができますが、ポインタアドレスをキーとして要求していて、そのデータを文字列の値からアクセスしたいので、アクセスできません。ポインタ型をキーとしたstd :: mapへのアクセス
ここソリューションは、ポインタを使用しないことですコード
using namespace std;
string *AString = "pointer";
map<string *, bool> AMap; //Declare
AMap[AString] = true; //Insert into map with key AString
cerr << AMap["pointer"]; //Does not work
std :: map内のエントリのキーを変更することはできません。私はあなたがなぜこれをやるべきでないのか考え直さなければならないと思う。文字列をキーとして格納することができ、キーが変更されるたびに古いエントリを消去し、更新されたキーでマップに挿入し直します。 – P3trus