Как я могу вернуть std::map, содержащий различия двух карт в С++?C++

Программы на C++. Форум разработчиков
Anonymous
Как я могу вернуть std::map, содержащий различия двух карт в С++?

Сообщение Anonymous »

У меня есть две карты, и мне нужно найти различия и создать новую карту, на которой есть только различия. Не знаю, как это сделать. Я пробовал использовать set_difference, но не совсем понимаю, как это работает. Любая помощь будет оценена по достоинству. спасибо

Код: Выделить всё

// header file
typedef std::map MapCol;
typedef std::map MapRow;
MapRow m_mapRows;

//.cpp fle
CheckForDifferences( const Table& rhs )
{
Table diffTable;
vector v;
vector::iterator it;
it=set_difference (m_mapRows.begin(), m_mapRows.end(), diffTable.m_mapRows.begin(), diffTable.m_mapRows.end, v.begin());
}
редактировать:

Код: Выделить всё

std::set_difference( m_mapRows.begin(), m_mapRows.end(),
rhs.m_mapRows.begin(), rhs.m_mapRows.end(), diffTable.m_mapRows.begin());
хорошо, это то, что я пробовал, но получаю ошибки, первая из которых
ошибка C2678: двоичный '=': не найден оператор, который принимает левый операнд типа 'const std::string' (или нет приемлемого преобразования)

есть идеи?>

Подробнее здесь: https://stackoverflow.com/questions/132 ... -maps-in-c

Вернуться в «C++»