bonjour,

j' ai un probleme avec for_each ou peu etre pas?

voici mon code

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
19
 
 
bool          parse_page::regex_callback(const boost::match_results<std::string::const_iterator>& what)
{
  this->a++;
  cout << what[0] << endl;
  cout << what[1] << endl;
  cout << what[2] << endl;
  return true;
}
 
void          parse_page::find_url(string page)
{
  boost::regex expression("<a href=\"(/|\\./|\\.)?([^\"]*)\"");
  boost::sregex_iterator m1(page.begin(), page.end(), expression);
  boost::sregex_iterator m2;
  for_each(m1, m2, &parse_page::regex_callback);
  cout << "nb_link; " << a << endl;
}
et voici l erreur de compilation qui pose probleme



g++ parse_page.cpp wgetter.cpp main.cpp -lboost_regex -lboost_system -lpthread
/usr/include/c++/4.3/bits/stl_algo.h: In function ‘_Funct std::for_each(_IIter, _IIter, _Funct) [with _IIter = boost::regex_iterator<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >, _Funct = bool (parse_page::*)(const boost::match_results<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >&)]’:
parse_page.cpp:25: instantiated from here
/usr/include/c++/4.3/bits/stl_algo.h:3791: error: must use ‘.*’ or ‘->*’ to call pointer-to-member function in ‘__f (...)’
make: *** [all] Erreur 1
comprend pas besoin d aide

j ai essayer en suivant le tuto http://r0d.developpez.com/articles/algos-stl/#LI-C

mais ca veu toujour pas avez vous des idee a ce sujet?