Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Template qui fonctionne pas ? [ Archives / Au secours ] (Cethywolf)

mardi 2 mai 2006 à 14:58:03 | Template qui fonctionne pas ?

Cethywolf

Voilà, j'ai une fonction template qui fonctionne très bien toute seule, mais dés que je l'inclue dans une classe, j'ai une erreur de spécialisation ...

Le header de ma classe (avec les includes) :
#include "..\C_CommunicationMySQL\C_CommunicationMySQL.h"
#include "..\Structures\Structures.h"

#include <string>
#include <sstream>

using namespace std;

class C_CommSysSqlMS : protected C_CommunicationMySQL
{
    private :
        Struct_Sorties Sorties;
    public :
        C_CommSysSqlMS();
        ~C_CommSysSqlMS();
        template <typename T> string to_string( const T &Value);
        bool b_RecupSorties();
        bool b_EnvoiEntrees(Struct_Entrees Entrees);
        bool b_EnvoiHisto(Struct_Entrees Entrees);
        Struct_Sorties SS_ShowSorties();   
};

Le corps du template :
template <typename T> string C_CommSysSqlMS::to_string(const T &Value)
{
    stringstream streamOut;
    streamOut << Value;
    return streamOut.str( );
}

Appel de la fonction template :
string s=to_string(10); // exemple

Erreur :
error C2893: Failed to specialize function template 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
 > __thiscall C_CommSysSqlMS::to_string(const T &)'
        With the following template arguments:
        'int'

Voilà, si quelqu'un peut me dire se qui ne va pas, ca m'aiderais beaucoup !

mardi 2 mai 2006 à 15:40:45 | Re : Template qui fonctionne pas ?

laurent1024

Salut.
Ta fonction to_string(const T & value) appartient à la classe C_CommSysSqlMS, tu ne peut donc pas l'appelle directement comme tu le fait avec string s=to_string(10);

mardi 2 mai 2006 à 15:42:50 | Re : Template qui fonctionne pas ?

Cethywolf

Je l'appelle dans une méthode de la classe (pardon de pas avoir précisé :-/)

mardi 2 mai 2006 à 16:26:20 | Re : Template qui fonctionne pas ?

laurent1024

Dans quelle classe appelles -tu ce "string s=to_string(10);" ?? Car si c'est dans la classe C_CommSysSqlMS il faut definir a un moment que le type T c'est un entier

mardi 2 mai 2006 à 16:42:22 | Re : Template qui fonctionne pas ?

Cethywolf

euh ... comment ca ? Info : bool C_CommSysSqlMS::b_EnvoiEntrees(Struct_Entrees Entrees) { string s=to_string(5); [...] }

mardi 2 mai 2006 à 16:54:16 | Re : Template qui fonctionne pas ?

laurent1024

Essaye un string s = to_string<int>(5);
http://c.developpez.com/faq/cpp/?page=templates

mardi 2 mai 2006 à 18:22:17 | Re : Template qui fonctionne pas ?

Cethywolf

J'ai essayer, et ... ca marche pas mieux :( C'est, apparement, un bug propre au compilateur de VC6 ... Donc j'ai mi ma fonction template à l'extérieure de ma classe, et ca fonctionne. Merci quand même de ton aide.



Cette discussion est classé dans : string, include, to, template, commsyssqlms


Répondre à ce message

Sujets en rapport avec ce message

Set transform C++ [ par ffenforce10 ] Bonjour, Voilà, j'ai un petit problème avec la fonction transform pour appliquer un foncteur... Mon code complilait lorsque j'utilisait un vecteur, m Spécialisation des template [ par lglandeur ] Bonjour,J'ai une fonction template qui appartiens a une class (qui n'est pas template), et je souhaite spécialiser cette fonction pour le type std ::s Passage d'un String dans une DLL C++ [ par Argile92 ] Bonjour à tous.J'aimerai pouvoir accéder à un fichier texte via une DLL.Je suis dans Excel, avec l'adresse où se trouve mon fichier texte que j'aimera Heritage Templates [ par ricklekebekoi ] Bonjour,Premiere utilisation des templates, et je frappe un mur .... dites moi ce que j'ai pas compris :En gros j'ai une classe générique symboleEt j' probleme creation de tableaux à taille dynamique [ par veka61 ] Bonjour tout le monde,Voila j'essai depuis plusieurs jour de creer une fonction pour transformer un string en char seulement j'obtient une erreur que [Débutant] créer une fenêtre wxWindow affichant un message d'erreur SOAP [ par kenibou ] Tout est dans le titre ! voici le code (simplifié) du client SOAP je voudrais récuperer le message d'erreur et l'afficher dans une fenêtre ! ------- Différence char - string [ par herlockg ] Bonjour,Voilà, je me demandais quelle était la différence exacte entre le type string et le type char. De plus, il pourquoi n'est-il pas nécessaire d' c++ urgence svp [ par yanlou ] maximus salut,j'ai u fichier txt qui contient des chaine de caracté, exemple :RFRPAD7RFRPAD8/A8 conversion du String^ to char* [ par adrianomad ] Salut.J'ai en face un grand pb. J'ai besoin d'une fonction qui me permet de convertir un String^ to char*. En effet, je voudrais lire un texte (nom de Conversion Float to String [ par PierreP ] Bonjour à tous !je suis en train de me prendre la tête pour créer une fonction de conversion d'un réel en une chaine de caractère (problème du débutan


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,655 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.