Passer à GCC pour la première fois, et je suis un peu confus par ce que le compilateur me dit ici. Essentiellement, il se comporte comme boost :: xpressive :: wsregex n'est pas défini (je crois).Boost :: Xpressive compile puzzle sous MinGW
Voici le code correspondant:
#include "criterion.h"
#include <string>
#include <boost/xpressive/xpressive.hpp>
//More lines of code omitted here
class perlRegex : public regexClass
{
private:
std::wstring regexString;
boost::xpressive::wsregex regex; // This is the line complained about
public:
unsigned __int32 getPriorityClass() const;
BOOL include(fileData &file) const;
unsigned int directoryCheck(const std::wstring& /*directory*/) const;
std::wstring debugTree() const;
perlRegex(const std::wstring& inRegex);
};
Et voici l'erreur:
regex.h:46: error: using-declaration for non-member at class scope
regex.h:46: error: expected `;' before "regex"
Ce que je suis confus au sujet ici est que je déclare un membre, mais il se plaint que J'utilise un membre ailleurs. J'ai oublié #include
quelque chose?
Merci à l'avance, Billy3
Je suppose qu'il ya une définition de regexClass soit en criterion.h ou dans le code précédent omis? –
Oui, c'est '# define'd dans criteria.h. –
Pouvez-vous vous assurer que les chemins de recherche d'en-tête sont corrects, c'est-à-dire que les bibliothèques Boost sont correctement incluses dans votre source? – dirkgently