lglandeur
Messages postés28Date d'inscriptionsamedi 11 juin 2005StatutMembreDernière intervention20 janvier 2009
-
27 déc. 2008 à 21:43
lglandeur
Messages postés28Date d'inscriptionsamedi 11 juin 2005StatutMembreDernière intervention20 janvier 2009
-
28 déc. 2008 à 12:24
Bonjour,
pour la réalisation d’un programme j’ai besoin d’accéder
à un fichier ini, et comme je ne veux pas être limité à Windows, j’ai eu l’idée
de me créer une class pour lire le fichier ini.
Pour accéder a une valeur du fichier ini j’utilise une
fonction template de ma class, et c’est la que les choses se gâte. Lors de la
compilation tu petit programme de teste j’ai droit a un beau message d’erreur :
« undefined reference to `std::string
INIParser::GetValue<std::string>(std::string const&, std::string
const&)' »
// continue si la ligne n'ai pas vide
if(!line.empty())
{
// test si la ligne corespond a une section
pos = line.find_first_of('[');
if(pos != std::string::npos)
{
line.erase(line.begin(), line.begin() + pos);
line.erase(line.begin() + line.find_first_of (']'), line.end());
section = line;
}
else // sinon elle coorespond a une clef
{
pos = line.find_first_of('=');
clef = line.substr (0, pos-1);
valeur = line.substr (pos+1);
// permet la suppretion de tout les espaces dans la clef while(std::string::npos !(pos clef.find_first_of(' ')))
clef.erase(pos);
cout << ini.GetValue<string>("config","text") << endl;
return 0;
}
<hr size="2" width="100%" />
Si quelqu'un à une idée sur le problème merci de répondre.Cordialement.
lglandeur
Messages postés28Date d'inscriptionsamedi 11 juin 2005StatutMembreDernière intervention20 janvier 2009 28 déc. 2008 à 12:13
Bonjour,
Alors voila je pense avoir trouvé la solution a mon problème. Pour ce faire il faut que je décrive ma fonction dans mon fichier d’entête, car apparemment une fonction template ne peut être décrite dans un fichier source a part.
Merci de bien vouloir m’expliquer si c’est bien cela la source de mon problème.