bonsoir à tous,

je suis un vrai débutant en c++ et j'ai un problème dans un header qui contient un map:

mon .h:

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
 
#ifndef DEF_TOTO
#define DEF_TOTO
class Toto
{
	public:
 
	Toto();
 
	private:
 
	std::string name;
	std::map<int,int> dict;
};
 
#endif
mon .cpp:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
#include <map>
#include <string>
#include "toto.h"
 
Toto::Toto()
{
	std::string name="hello";
	std::map<int,int> dict;
}
mon main:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
#include <iostream>
#include "toto.h"
 
int main()
{
	Toto toto;
	return 0;
}
à la compilation j'ai un message d'erreur sur mon .h qui me dit

'map' : is not a member of 'std'
Lorsque je commente les lignes en relation avec le map dans le .h et dans le .cpp ça compile et je ne comprends pas pourquoi il trouve string dans std alors qu'il ne trouve pas map.

Je me dis que je fais forcément quelque chose de travers mais je ne vois pas vraiment quoi...

Merci pour votre aide.