Bonjour à tous !

Je tente d'appeler une méthode que j'ai déjà réussi à appeler en amont, mais cette fois-ci les types ne correspondent pas à ceux attendus. Je pense que le souci vient de la conversion en références mais la méthode à suivre m'échappe. Impossible de compiler.
Voici les codes:

Prototype de la méthode :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
/*!
                *  \brief Lecture du fichier de config
                *
                *  Lecture d'un élément spécifique de type string du fichier de config sous traité par _read de ParamsIni
                *
                *       \param [IN] aip_section : section du paramètre recherché
                *       \param [IN] aipname : nom du paramètre recherché
                *   \param [IN] aipname : Valeur par défaut à donner à ao_value en cas d'échec
                *       \param [OUT] ao_value : valeur string du paramètre
                *  \return bool : flag de réussite
                *
                */
		__declspec(dllimport) bool read(const string& ai_section, const string& ai_name, string& ao_value, const string& ai_defaultValue = "");
maintenant, un premier appel de ma méthode qui fonctionne très bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
Params* Factory::buildParameters(const string& aip_configPath, string &aiop_model)
{
          mp_param = new ParamsIni(aip_configPath);//ça c'est ok, pas de souci
          mp_param->read("MODEL", "ModelView", aiop_model, "default");//ça marche
}
Mais dans une autre classe, j'appelle ma méthode comme suit et les arguments n'ont pas les bons types !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
View::View(const Params* aip_params)
{
        string* wp_model= new string("");
	string &w_model = *wp_model;//je sais que c'est bizarre, mais c'est ma dernière tentative en date.
 
	aip_params->read(Constant::PARAM_SECTION_MODEL, Constant::PARAM_VALUE_MODEL, w_model, Constant::MODEL_DEFAULT);
}
A noter que toutes les constantes sont des static const std::string de la classe constante. Comment je peux les transformer en références ? Pourquoi si je choisis d'écrire "MODEL" en dur comme précédemment ça me le prend comme une char[6] et non pas comme une std::string::basic_string comme précédemment ? Tout ça m'échappe un peu...

Help !