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.
Dans cette classe j'ai redéfini les opérateur (+ - et =) permettant des opération de base genre concatenation ...
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 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
Partager