Bonjour à tous,

je rencontre des problèmes pour insérer des données avec un it.first déjà existant dans une map. J'ai essayé de synthétiser et simplifier au maximum le besoin.

Exemple:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#pragma once
 
#include <string>
#include <vector>
#include <map>
 
struct example
{
	int id;
	std::string name;
};
 
struct data
{
	int number;
	std::string string;
};
 
class c
{
	private:
	std::map<example, std::vector<data>> m;
 
	public:
	void add(example &ex)
	{
		data d;
		bool state = false;
		for (const auto& its : m)
		{
			if (its.first.id == ex.id)
			{
				m[its.first].push_back(d);
				//m_.emplace(std::make_pair(its.first, d));
				state = true;
				break;
			}
		}
		if (!state) m.emplace(std::make_pair(ex, d));
	}
};
Merci bien.