マップのキーとしてカスタムクラスがあります。マップにアイテムを挿入しようとすると、プログラムは終了します。キーの作成には問題があります。カスタムキーを使用したC++マップの挿入に失敗しました
class MyKey {
char* data;
bool operator<(const MyKey& s) const {
for(int i = 0; i < (int)(sizeof(data)/sizeof(char)); i++) {
if(data[i] > s.data[i])
return false;
}
return true;
}
}
map<MyKey, char>* map = new map<MyKey, char>;
MyKey* key = new MyKey(...);
map->insert(make_pair(*key, '0'));
プログラムは、インサートで終了します。
はあなたがMyKey' 'のMYKEY'の実装::演算子<() 'と定義を投稿できる作品や版画A.以下の(メンバ変数とコピーコンストラクタと代入演算子を参照する必要があります)。 – hmjd
キークラスに情報を追加しました – dbrettschneider
MyKeyにコピーコンストラクタがありますか?実装は何ですか? – Shawnone