Я новичок в C ++ и мне нужна ваша помощь.
Моя цель - сравнить некоторые строки в c ++ и сохранить идентичные.Сделать это.Я хеширую строки в UINT, затем проверяю UINTS и сохраняю те же самые UINTS.Например .. У меня есть 2000 документов текстов, каждый из которых имеет 2 строки.С хэш-картой я хеширую их куче UINTS.тогда я храню одни и те же UINTS вместе.Наконец я хочу получить идентичные документы.Итак, я использую Cmap.который сопоставляет UINTS с их документами.Я сделаю эту процедуру для повышения эффективности памяти.
Я использую этот код:
CString keyExample("This is a sample text");
LPCTSTR lpStr = (LPCTSTR)keyExample;
CMapStringToOb hashObject;
UINT keyExampleTemp=hashObject.HashKey(lpStr);
cout<< keyExampleTemp<<endl;
CMap<UINT, UINT, CString, CString*> mymap;
CString value=mymap[keyExampleTemp];
cout<<value;
Если я прокомментирую последние 3 строки, я получу UINT для «Этообразец текста ", но если я раскомментирую последние 3 строки, я получу эту ошибку, которая означает, что проблема в cmap
ошибка C2664: 'CMap<KEY,ARG_KEY,VALUE,ARG_VALUE>::SetAt'
: невозможно преобразовать параметр 2 из 'CString'
в'ATL::CStringT<BaseType,StringTraits> '