[Compilation] "No matchin function call to, Candidates are"
J'avoue que je suis assez dérouté. J'utilise un constructeur bien spécifique fournis par la librairie la classe pcrecpp:RE de la librairie pcre (version cpp), ce qui me semble correct mais qui bizzarement, génère une erreur à la compilation.
Voici ma classe (Je doit implémenter les fonctions d'une classe abstraite selon plusieurs librairies: pcre, pcrecpp, boost::regex, etc., et cette classe en est une):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| class cDicePcreRegex : public aDiceRegex
{
public:
cDicePcreRegex(const std::string& regex);
virtual ~cDicePcreRegex();
bool match(const std::string& str);
std::string replace(const std::string& str, const std::string& replace);
std::string getRegex() const;
void setRegex(const std::string& regex);
protected:
private:
pcrecpp::RE _regex;
}; |
Là où ça coince:
Code:
1 2 3 4
| void cDicePcreRegex::setRegex(const std::string& regex)
{
_regex(regex);
} |
Et voici le message d'erreur que j'obtiens:
Citation:
Compiling: DiceEngine\cDicePcreRegex.cpp
C:\Documents and Settings\U502136\Mes documents\C++\DiceCaster\DiceEngine\cDicePcreRegex.cpp: In constructor `DiceEngine::cDicePcreRegex::cDicePcreRegex(const std::string&)':
C:\Documents and Settings\U502136\Mes documents\C++\DiceCaster\DiceEngine\cDicePcreRegex.cpp:6: error: no matching function for call to `pcrecpp::RE::RE()'
C:/MinGW/include/pcrecpp.h:502: note: candidates are: pcrecpp::RE::RE(const pcrecpp::RE&)
C:/MinGW/include/pcrecpp.h:498: note: pcrecpp::RE::RE(const std::string&, const pcrecpp::RE_Options&)
C:/MinGW/include/pcrecpp.h:497: note: pcrecpp::RE::RE(const std::string&)
C:/MinGW/include/pcrecpp.h:496: note: pcrecpp::RE::RE(const char*, const pcrecpp::RE_Options&)
C:/MinGW/include/pcrecpp.h:495: note: pcrecpp::RE::RE(const char*)
pourtant j'utilise bien le constructeur "RE(const string&)".
Où donc est mon erreur?