People という名前のクラスがあるとします。これらの人々へのポインターをマップに保存しています
map<string, People*> myMap;
新しい People を作成するには、maps [] 演算子を使用します。
myMap["dave"]->sayHello();
しかし、これによりセグメンテーション エラーが発生し、People クラスのコンストラクターも呼び出されません。
私も試しました
myMap.insert( std::make_pair( "dave", new People() ));
しかし、それは何も変更しませんでした。コンストラクターはまだ呼び出されず、プログラムはこのコードの処理をセグメンテーション エラーでシャットダウンします。
ポインターを含むマップにアクセスして操作するにはどうすればよいですか? 上記が機能しないのはなぜですか。コンパイル時のエラーや警告は表示されません。
どんな洞察も大歓迎です、ありがとう