http://www.cplusplus.com/reference/map/map/map/に従っています。
私は逆インデックス構造を構築しようとしています。これは、キーとして 64 ビットの整数を持ち、各キーがサブマップへのポインターを保持するマップです。サブマップには int int ペアが含まれます。だから私はいくつかのサンプルを書くようになりました:
map<unsigned long long int, map<int, int>*> invertID;
int main(int argc, char *argv[]){
map<int,int>* m = new map<int,int>();
m[10] = 1;
invertID[1] = m;
return 0;
}
しかし、通常、次のような非ポインター型マップの場合の問題は次のとおりです。
std::map<char,int> first;
http://www.cplusplus.com/reference/map/map/map/で説明されているように、できることがわかりました
first['a']= 10;
しかし、マップにポインター型がある場合、どうすればそれができるのでしょうか? 上記の私のコードは、不平を言うエラーを生成します
error C2679: binary '=' : no operator found which takes a right-hand operand of type 'int' (or there is no acceptable conversion)