Forum: PC-Programmierung boost regex iteratoren


von Patrick W. (seennoob)


Angehängte Dateien:

Lesenswert?

Hallo;

Ich hab ein leichtes Problem mit den Iteratoren bei der regex_search 
Funktion von Boost. Ich hab zum testen einfach einen Beispiel Code 
kopiert aber funktioniert nicht ich bekomm als Fehler vom Compiler:


main.cpp:33: Fehler: keine passende Funktion für Aufruf von 
»regex_search(__gnu_cxx::__normal_iterator<const char*, 
std::basic_string<char, std::char_traits<char>, std::allocator<char> > 
>&, __gnu_cxx::__normal_iterator<char*, std::basic_string<char, 
std::char_traits<char>, std::allocator<char> > >, boost::cmatch&, 
boost::regex&)«
main.cpp:39: Fehler: no match für »operator=« in »begin = ((const 
boost::sub_match<const 
char*>*)matches.boost::match_results<BidiIterator, 
Allocator>::operator[] [with BidiIterator = const char*, Allocator = 
std::allocator<boost::sub_match<const char*> 
>](1))->boost::sub_match<const char*>::<anonymous>.std::pair<const 
char*, const char*>::second«
/usr/include/c++/4.3/bits/stl_iterator.h:666: Anmerkung: Kandidaten 
sind: __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, 
std::char_traits<char>, std::allocator<char> > >& 
__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, 
std::char_traits<char>, std::allocator<char> > >::operator=(const 
__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, 
std::char_traits<char>, std::allocator<char> > >&)

Ich hoffe ihr könnt mir den entscheidenden Tipp geben zur Lösung.

MFG Patrick

von Christian (Gast)


Lesenswert?

Hallo,

probier mal:
1
 string::const_iterator end = sbuf.end();
2
 while (boost::regex_search(begin, end, matches, re))

von Patrick W. (seennoob)


Angehängte Dateien:

Lesenswert?

Jetzt hab ich nur noch mehr Fehlermeldungen ^^
Hat noch nie wer von euch mit boost gearbeitet ?

MFG

von Christian (Gast)


Lesenswert?

Du linkst auch die Regexp-Library dazu?

Schreib mal dein Makefile oä hier ins Forum.

von Christian (Gast)


Lesenswert?


von Christian (Gast)


Angehängte Dateien:

Lesenswert?

Da mir langweilig war, hier die Lösung...
Gebaut unter Linux mit:
1
g++ main.cpp /usr/lib/libboost_regex-mt.a -o test
(Siehe vorigen Post)

von Link zu (Gast)


Lesenswert?

Du brauchst nicht den kompletten Pfad der Lib mit angeben. Wenn die Lib 
in einem Standardverzeichnis für Libs steht, kannst du auch abkürzen.
Aus /Pfad/zur/libtest.so bzw. /Pfad/zur/libtest.a wird -ltest. Oder aus 
deinem Kompilierungsbefehl wird somit:
1
g++ main.cpp -lboost_regex-mt -o test

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.