*itr
фактически вернет basic_string
вместо string
, поэтому вам нужно преобразовать одно в другое:
using namespace std;
using namespace boost;
void fn_that_receives_pointer_to_std_string(string* str)
{
cout << "str: " << *str << endl;
}
int main()
{
string s = "Field 1,\"putting quotes around fields, allows commas\",Field 3";
tokenizer<escaped_list_separator<char> > tok(s);
for(tokenizer<escaped_list_separator<char> >::iterator beg=tok.begin(); beg!=tok.end();++beg)
{
string tmp(*beg);
fn_that_receives_pointer_to_std_string(&tmp);
}
}
Мне не нравится идея передать адрес памяти string
другой функции. Рассмотрите возможность передачи его по копии или по ссылке.