Как я могу вернуть 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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