
Hi, The following piece of code is giving me "string iterators incompatible" error: ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #include <iostream> #include <string> #include <boost/tokenizer.hpp> class Base { public: typedef boost::char_separator<char> sep_type_t; typedef boost::tokenizer<sep_type_t> tokenizer_t; Base(std::string s) : sep_(";"), tok_(s,sep_), i_(tok_.begin()) { } std::string nextToken() { if (i_!=tok_.end()) return *i_++; else return ""; } protected: sep_type_t sep_; tokenizer_t tok_; tokenizer_t::iterator i_; }; class Sub : public Base { public: Sub(std::string s) : Base(s) { std::string t = nextToken(); std::string u = nextToken(); std::string v = nextToken(); } void doSomething() { int x = 0; x +=1; } }; int main (int argc, char **argv) { Sub x("ASIF;Sohail;Kaleem;Maryam;Irfan;Khurram"); x.doSomething(); return 0; } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// This code is compiling and running fine on GCC 4.6.0 / Fedora 15 / 64-bit. I hope somebody here will help me out on this. Best regards, Asif