IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

C++ Discussion :

Paramètre fonction et classe


Sujet :

C++

  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 46
    Par défaut Paramètre fonction et classe
    Bonjour a tous.

    J'ai crée une classe CString qui a en attribut un string (std::string) me permettant d'appliquer multiples traitements sur ce string.

    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
     
    class CString : public ClovisVariable {
     
    	private:
     
    		std::string value;	// Internal value
     
    	public:
     
                   CString(std::string name , std::string value);
    		CString();
    		CString(std::string value);
    		CString(char * value);
                    //.....
    		void operator = (std::string value);
                    void operator = (CString value);
    		void operator = (char * value);
                    //.....
    Dans cette classe j'ai redéfini les opérateur (+ - et =) permettant des opération de base genre concatenation ...

    Dans un paramètre d'une autre classe je souhaite faire ceci:

    static void logOn(ERROR_TYPE error , core::CString message , core::CString fichier = "error.log" );

    J'ai une erreur a la compilation :

    erreur: default argument for parameter of type «clovis::core::CString» has type «const char [10]»|

    Apparement je suppose ici que le problème vient du dernier paramètre ... mais je ne connais pas la solution quelqu'un a une idée?

    Je compile sous linux (g++ v4.2.3)

    D'avance merci

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Par défaut
    Remplace les "char *" par des "const char *" et ça devrait marcher.

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 46
    Par défaut
    J'ai toujours la même erreur ...

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 687
    Par défaut
    Dans le constructeur?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                    CString();
    		CString(std::string value);
    		CString(const char * value);
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 46
    Par défaut
    Oui meme dans le constructeur.
    Je me suis aperçu que le même code compile sous windows en utilisant Code::Blocks avec le copilateur fourni avec.

  6. #6
    Membre Expert
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Par défaut
    Tu compiles avec quelles paramètres pour info?

  7. #7
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 46
    Par défaut
    En fait je travaille sur quelque chose d'assez important http://www.sfwol.org
    Mes liens sous windows sont : -lmingw32 -lSDLmain -lSDL -mwindows
    Sous linux j'utilise aussi CodeBlocks avec ce lien -lSDL

Discussions similaires

  1. [MooTools] [POO] mootools : déclaration de fonction en paramètre de certaines classe
    Par rebolon dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 22/04/2008, 17h29
  2. Paramètre par défaut class templates
    Par Alp dans le forum C++
    Réponses: 2
    Dernier message: 26/02/2006, 02h06
  3. Passage de paramètre d'une classe à une autre
    Par semenzato dans le forum C++
    Réponses: 3
    Dernier message: 21/09/2005, 13h59
  4. Accèss à des fonctions entre classes
    Par vincetrader dans le forum C++
    Réponses: 4
    Dernier message: 08/09/2005, 13h45
  5. fonction et classe tempalte
    Par narkhor dans le forum C++
    Réponses: 8
    Dernier message: 29/03/2005, 09h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo