boost::variant< std::string, int > v( "Hello, world!" ); std::string s = v.substr( 3, 5 ); // <-- как ?!