Bonjour, j'ai une erreur avec le code suivant :
 
| Code : 
 class format_stack	{  bool bfirst; // 1ere insertion ?
  std::ostringstream oss;	public:  format_stack()  	: bfirst(true)  {  }  void operator () (const std::string &s)  {  	if(bfirst)    bfirst = false;  	else    oss << " -> ";  	oss << s;  }  std::string get() const  {  	return oss.str();  }	};  std::list<std::string> l;  l.push_back(std::string("1" ));  l.push_back(std::string("2" ));  format_stack fs;  std::for_each(l.rbegin(), l.rend(), fs);
 | 
 
compilé avec visual studio 2003
 
a cette ligne : std::for_each(l.rbegin(), l.rend(), fs);
error C2664: 'std::for_each' : impossible de convertir le paramètre 3 de 'black::stack_trace::format_stack' en
'black::stack_trace::format_stack'
 
Je suppose que c'est un problème de prototype de l'opérateur () du foncteur, mais je n'arrive pas à trouver ...
Toute aide est bienvenue, merci 
 
Message édité par blackgoddess le 05-08-2004 à 15:20:01
 ---------------
			
-( BlackGoddess )-