私は非常に混乱しています。なぜこれが機能するのですか:
double doubleValue = 20;
NcVar variable = {some process obtaining an instance}
map<NcVar,double> th;
th.insert(std::make_pair(variable, doubleValue));
これは失敗します:
double doubleValue = 20;
NcVar variable = {some process obtaining an instance}
map<NcVar,double> *th = new map<NcVar,double>();
th->insert(std::make_pair(variable, doubleValue));
つまり、最初のバリアントは 1 つのキーと値のペアで終わり、2 番目のバリアントはマップを変更しない (0 エントリ) ということですか?