Bonjour a tous,

Je developpe une DLL qui lit une BDD et me retourne un tableau contenant toute ma table.

J'utilise un std::map<identifiant, strcuture_de_ma_table> qui va contenir tous les enregistrements contenus dans ma table.

Mon probleme consiste dans le return. Des que je fais un return d'une variable de type std::map j'ai des erreurs de compilation.

dans mon fichier .h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
ma_classe
{
    __declspec(dllexport) std::map<CString, strcuture_de_ma_table> foo();    
}
dans mon fichier .cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
{
    std::map ma_classe::foo()
        {
        std::map<CString, CString> mMap;
 
        mMap["0"] = "valeur 1";
        mMap["1"] = "valeur 2";
        mMap["2"] = "valeur 3";
 
        return mMap;
        }
 
}
Dans mon fichier .cpp je ne peu pas declarer la fonction foo comme ca
std::map<CString, CString> ma_classe::foo(), car la il considere 'foo' comme ue variable.


Voila je suis un peu perdu face a ce probleme, je trouve rien sur le net...
Ce forum est mon seul espoir

merci d'avance a tous ceux qui se seront penches dessus.