This code:

std::string s("blablabla");

std::string::iterator start = s.begin();
std::string::iterator finish = s.end();
       
bool result = phrase_parse(start, finish, +(!char_(':')), space);

It's just a simple parser that match string which doesn't have ':' character in it right ? But when I run it, function phrase_parse is hang, it never return anything.
I'm using boost 1.44 with VC 2008