Carte de l'int et de vector<int> en c++

J'ai travaillé avec <map>, où j'ai déclaré une carte comme

map <int , vector<int> > tree;

et je suis en train d'affecter des valeurs à des. Mon objectif est de placer plusieurs valeurs comme des éléments de ses touches.
Quelque chose comme ceci:

0=null
1=>0
2=>1,0
3=>2,1,0
4=>3,2,1,0
5=>0

J'ai essayé d'attribuer à la carte comme ça, mais il ne fonctionne pas.

tree[3]=vector<int>(2,1,0);

Pouvez-vous trouver où est le problème, ou comment puis-je faire une fonction qui fonctionne comme un dictionnaire Python?

EDIT: tree[1]=vector<int>(0);
tree[2]=vector<int>(1,0);

ci-dessus 2 façons de répartir le travail.

EDIT2: je ne suis pas à l'aide de c++11

Ce n'est pas valide d'un std::vector appel du constructeur.
L'ordre d'entiers dans les vecteurs de la matière dans vos scénarios?
Erm... vérifier les valeurs, s'il vous plaît. vector<int>(0) généré un vide vecteur et vector<int>(1,0) donne un vecteur avec un seul élément qui est 0. Voir le constructeurs pour std::vector.

OriginalL'auteur george mano | 2013-03-04