Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SL & STL C++ Discussion :

Multimap error "expected primary-expression"


Sujet :

SL & STL C++

  1. #1
    Candidat au Club
    Multimap error "expected primary-expression"
    Bonsoir à tous !

    Je viens chercher de l'aide car j'ai un petit soucis concernant le multimap.

    En effet, j'ai une erreur de compilation à la déclaration de mon multimap dans une fonction : multimap <char, string> lexique; -> error: expected primary-expression before ‘char'

    Je ne sais pas trop d’où cela pourrait venir, j'ai bien #include <map>. Ce qui est aussi étrange c'est que map fonctionne et multimap ne fonctionne seulement que dans mon main.

    La fonction en question :
    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
    void Grid2d::multimap(const char * fileName)
    {
    	multimap<char, string>lexique;
    	multimap<char, string>::iterator it;
     
    	ifstream file(fileName, ios::in);
     
    	if(fileName)
    	{
    		string charge;
    		int i=0;
     
    		while(getline(file, charge))
    		{
    			lexique.insert(pair<char, string>(charge[i], charge));
    		}
    	}else	
    		cerr << "Impossible d'ouvrir le fichier !" << endl;
     
    	file.close();
     
    	for (it = lexique.begin();it != lexique.end(); it++)
        {
            cout << '<' << it->first << ',' ;
            cout << it->second << '>' << endl;
        }
    }


    Merci d'avance pour vos pistes
    Cordialement, Julien.



    EDIT : RESOLU -> bah ui appelle pas la fonction multimap......

  2. #2
    Expert éminent sénior
    mieux, appelle tes variables std::multimap.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle