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
Gast
#1545651
Hallo, probier mal:
1 | |
2 | |
Jetzt hab ich nur noch mehr Fehlermeldungen ^^ Hat noch nie wer von euch mit boost gearbeitet ? MFG
Gast
#1546811
Du linkst auch die Regexp-Library dazu? Schreib mal dein Makefile oä hier ins Forum.
Gast
#1546812
Gast
#1546839
Da mir langweilig war, hier die Lösung... Gebaut unter Linux mit:
1 | |
(Siehe vorigen Post)
Gast
#1546952
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 | |
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.