ошибка при работе с boost :: sregex_token_iterator

Я хочу найти регулярное выражение и напечатать его цветом. Для этого я использовал boost :: sregex_token_iterator. это мой код

    boost::regex re("ab.");
string s="";
string buf;
string infile("retest.txt");
//string color="green";
ifstream in(infile.c_str());
int lcount=0;
while (getline(in,buf))
{
boost::sregex_token_iterator p(buf.begin(), buf.end(), re, 0);
boost::sregex_token_iterator end;
lcount++;
cout <<"line : "<<lcount<<endl;
for (;p != end;++p)
{
string m(p->first, p->second);
cout<< m <<endl;
//cout <<*(p->first)<<endl;
//cout <<*(p->second)<<endl;
//unsigned int pos = buf.find(m);
buf = buf.insert(p->first,"\e[0;32m");
buf = buf.insert(p->second+m.length()+7,"\e[0m");
}
cout<<"\n";
s.append(buf);
s.append("\n");
}
in.close();
cout <<"s is:  "<<s<<endl;
return 0;
}

но я получаю эту ошибку:

В файле, включенном в /usr/include/boost/config.hpp:35:0,
из /usr/include/boost/regex/config.hpp:53,
из /usr/include/boost/regex.hpp:28,
из main3.cc:3:
/usr/include/boost/config/compiler/gcc.hpp:92:7: warning: #warning «Неизвестная версия компилятора — пожалуйста, запустите тесты настройки и сообщите результаты» [-Wcpp] main3.cc: в функции — main (int, char **):
main3.cc:36:40: ошибка: нет соответствующей функции для вызова âstd :: basic_string :: insert (const __gnu_cxx :: __ normal_iterator>&, const char [8]) â
main3.cc:36:40: примечание: кандидаты:
В файл включен из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/string:54:0 ,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/locale_classes.h:42,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/ios_base.h:43,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/ios:43,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/ostream:40,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/iostream:40,
из main3.cc:1:
/usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1182:7 : примечание: void std :: basic_string<_CharT, _Traits, _Alloc> :: insert (std :: basic_string<_CharT, _Traits, _Alloc> :: iterator, std :: basic_string<_CharT, _Traits, _Alloc> :: size_type, _CharT) [with _CharT = char; _Traits = std :: char_traits; _Alloc = std :: allocator; станд :: basic_string<_CharT, _Traits, _Alloc> :: iterator = __gnu_cxx :: __ normal_iterator>; имя_папки _Alloc :: rebind<_CharT> :: other :: pointer = char *; станд :: basic_string<_CharT, _Traits, _Alloc> :: size_type = unsigned int] /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1182:7 : примечание: кандидат ожидает 3 аргумента, 2 предоставлены
/usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1199:9 : примечание: шаблон void std :: basic_string :: insert (std :: basic_string<_CharT, _Traits, _Alloc> :: iterator, _InputIterator, _InputIterator) [with _InputIterator = _InputIterator; _CharT = char; _Traits = std :: char_traits; _Alloc = std :: allocator] /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1199:9 : note: не удалось вывести / заменить аргумент шаблона:
main3.cc:36:40: примечание: не может конвертировать âp.boost :: regex_token_iterator :: operator-><__gnu_cxx :: __ normal_iterator>, char, boost :: regex_traits, std :: allocator> () -> boost :: sub_match<__gnu_cxx :: __ normal_iterator>> ::. std :: pair<__gnu_cxx :: __ normal_iterator>, __gnu_cxx :: __ normal_iterator>> :: firstâ (введите âconst __gnu_cxx :: __ normal_iterator> â) для ввода âstd :: basic_string :: iterator {aka __gnu_cxx :: __ normal_iterator>} __
В файл включен из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/string:54:0 ,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/locale_classes.h:42,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/ios_base.h:43,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/ios:43,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/ostream:40,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/iostream:40,
из main3.cc:1:
/usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1230:7 : примечание: std :: basic_string<_CharT, _Traits, _Alloc>& станд :: basic_string<_CharT, _Traits, _Alloc> :: insert (std :: basic_string<_CharT, _Traits, _Alloc> :: size_type, const std :: basic_string<_CharT, _Traits, _Alloc>&) [с _CharT = char; _Traits = std :: char_traits; _Alloc = std :: allocator; станд :: basic_string<_CharT, _Traits, _Alloc> = std :: basic_string; станд :: basic_string<_CharT, _Traits, _Alloc> :: size_type = unsigned int] /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1230:7 : примечание: неизвестное преобразование для аргумента 1 из âconst __gnu_cxx :: __ normal_iterator> â в âstd :: basic_string :: size_type {aka unsigned int} â
/usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1252:7 : примечание: std :: basic_string<_CharT, _Traits, _Alloc>& станд :: basic_string<_CharT, _Traits, _Alloc> :: insert (std :: basic_string<_CharT, _Traits, _Alloc> :: size_type, const std :: basic_string<_CharT, _Traits, _Alloc>&, std :: basic_string<_CharT, _Traits, _Alloc> :: size_type, std :: basic_string<_CharT, _Traits, _Alloc> :: size_type) [with _CharT = char; _Traits = std :: char_traits; _Alloc = std :: allocator; станд :: basic_string<_CharT, _Traits, _Alloc> = std :: basic_string; станд :: basic_string<_CharT, _Traits, _Alloc> :: size_type = unsigned int] /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1252:7 : примечание: кандидат ожидает 4 аргумента, 2 при условии
В файл включен из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/string:55:0 ,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/locale_classes.h:42,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/ios_base.h:43,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/ios:43,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/ostream:40,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/iostream:40,
из main3.cc:1:
/usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.tcc:361:6 : примечание: std :: basic_string<_CharT, _Traits, _Alloc>& станд :: basic_string<_CharT, _Traits, _Alloc> :: insert (std :: basic_string<_CharT, _Traits, _Alloc> :: size_type, const _CharT *, std :: basic_string<_CharT, _Traits, _Alloc> :: size_type) [with _CharT = char; _Traits = std :: char_traits; _Alloc = std :: allocator; станд :: basic_string<_CharT, _Traits, _Alloc> :: size_type = unsigned int] /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.tcc:361:6 : примечание: кандидат ожидает 3 аргумента, 2 предоставлены
В файл включен из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/string:54:0 ,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/locale_classes.h:42,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/ios_base.h:43,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/ios:43,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/ostream:40,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/iostream:40,
из main3.cc:1:
/usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1293:7 : примечание: std :: basic_string<_CharT, _Traits, _Alloc>& станд :: basic_string<_CharT, _Traits, _Alloc> :: insert (std :: basic_string<_CharT, _Traits, _Alloc> :: size_type, const _CharT *) [with _CharT = char; _Traits = std :: char_traits; _Alloc = std :: allocator; станд :: basic_string<_CharT, _Traits, _Alloc> = std :: basic_string; станд :: basic_string<_CharT, _Traits, _Alloc> :: size_type = unsigned int] /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1293:7 : примечание: неизвестное преобразование для аргумента 1 из âconst __gnu_cxx :: __ normal_iterator> â в âstd :: basic_string :: size_type {aka unsigned int} â
/usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1316:7 : примечание: std :: basic_string<_CharT, _Traits, _Alloc>& станд :: basic_string<_CharT, _Traits, _Alloc> :: insert (std :: basic_string<_CharT, _Traits, _Alloc> :: size_type, std :: basic_string<_CharT, _Traits, _Alloc> :: size_type, _CharT) [with _CharT = char; _Traits = std :: char_traits; _Alloc = std :: allocator; станд :: basic_string<_CharT, _Traits, _Alloc> = std :: basic_string; станд :: basic_string<_CharT, _Traits, _Alloc> :: size_type = unsigned int] /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1316:7 : примечание: кандидат ожидает 3 аргумента, 2 предоставлены
/usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1334:7 : примечание: std :: basic_string<_CharT, _Traits, _Alloc> :: итератор std :: basic_string<_CharT, _Traits, _Alloc> :: insert (std :: basic_string<_CharT, _Traits, _Alloc> :: iterator, _CharT) [with _CharT = char; _Traits = std :: char_traits; _Alloc = std :: allocator; станд :: basic_string<_CharT, _Traits, _Alloc> :: iterator = __gnu_cxx :: __ normal_iterator>; имя_папки _Alloc :: rebind<_CharT> :: other :: pointer = char *] /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1334:7 : примечание: неизвестное преобразование для аргумента 1 из âconst __gnu_cxx :: __ normal_iterator> â в âstd :: basic_string :: iterator {aka __gnu_cxx :: __ normal_iterator>} â
main3.cc:37:51: ошибка: нет соответствующей функции для вызова âstd :: basic_string :: insert (__ gnu_cxx :: __ normal_iterator>, const char [5]) â
main3.cc:37:51: примечание: кандидаты:
В файл включен из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/string:54:0 ,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/locale_classes.h:42,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/ios_base.h:43,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/ios:43,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/ostream:40,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/iostream:40,
из main3.cc:1:
/usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1182:7 : примечание: void std :: basic_string<_CharT, _Traits, _Alloc> :: insert (std :: basic_string<_CharT, _Traits, _Alloc> :: iterator, std :: basic_string<_CharT, _Traits, _Alloc> :: size_type, _CharT) [with _CharT = char; _Traits = std :: char_traits; _Alloc = std :: allocator; станд :: basic_string<_CharT, _Traits, _Alloc> :: iterator = __gnu_cxx :: __ normal_iterator>; имя_папки _Alloc :: rebind<_CharT> :: other :: pointer = char *; станд :: basic_string<_CharT, _Traits, _Alloc> :: size_type = unsigned int] /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1182:7 : примечание: кандидат ожидает 3 аргумента, 2 предоставлены
/usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1199:9 : примечание: шаблон void std :: basic_string :: insert (std :: basic_string<_CharT, _Traits, _Alloc> :: iterator, _InputIterator, _InputIterator) [with _InputIterator = _InputIterator; _CharT = char; _Traits = std :: char_traits; _Alloc = std :: allocator] /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1199:9 : note: не удалось вывести / заменить аргумент шаблона:
main3.cc:37:51: примечание: не может конвертировать âp.boost :: regex_token_iterator :: operator-><__gnu_cxx :: __ normal_iterator>, char, boost :: regex_traits, std :: allocator> () -> boost :: sub_match<__gnu_cxx :: __ normal_iterator>> ::. std :: pair<__gnu_cxx :: __ normal_iterator>, __gnu_cxx :: __ normal_iterator>> :: second .__ gnu_cxx :: __ normal_iterator<_Iterator, _Container> :: operator +> ((* &((__gnu_cxx :: __ normal_iterator> :: diff_type) m.std :: basic_string<_CharT, _Traits, Alloc> :: length, std :: allocator> ())))._gnu_cxx :: __ normal_iterator<_Iterator, _Container> :: operator +> ((* &7)) â (введите â__gnu_cxx :: __ normal_iterator> â) для ввода âstd :: basic_string :: iterator {aka __gnu_cxx :: __ normal_iterator>} â
В файл включен из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/string:54:0 ,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/locale_classes.h:42,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/ios_base.h:43,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/ios:43,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/ostream:40,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/iostream:40,
из main3.cc:1:
/usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1230:7 : примечание: std :: basic_string<_CharT, _Traits, _Alloc>& станд :: basic_string<_CharT, _Traits, _Alloc> :: insert (std :: basic_string<_CharT, _Traits, _Alloc> :: size_type, const std :: basic_string<_CharT, _Traits, _Alloc>&) [с _CharT = char; _Traits = std :: char_traits; _Alloc = std :: allocator; станд :: basic_string<_CharT, _Traits, _Alloc> = std :: basic_string; станд :: basic_string<_CharT, _Traits, _Alloc> :: size_type = unsigned int] /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1230:7 : примечание: нет известного преобразования для аргумента 1 из â__gnu_cxx :: __ normal_iterator> â в âstd :: basic_string :: size_type {aka unsigned int} â
/usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1252:7 : примечание: std :: basic_string<_CharT, _Traits, _Alloc>& станд :: basic_string<_CharT, _Traits, _Alloc> :: insert (std :: basic_string<_CharT, _Traits, _Alloc> :: size_type, const std :: basic_string<_CharT, _Traits, _Alloc>&, std :: basic_string<_CharT, _Traits, _Alloc> :: size_type, std :: basic_string<_CharT, _Traits, _Alloc> :: size_type) [with _CharT = char; _Traits = std :: char_traits; _Alloc = std :: allocator; станд :: basic_string<_CharT, _Traits, _Alloc> = std :: basic_string; станд :: basic_string<_CharT, _Traits, _Alloc> :: size_type = unsigned int] /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1252:7 : примечание: кандидат ожидает 4 аргумента, 2 при условии
В файл включен из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/string:55:0 ,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/locale_classes.h:42,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/ios_base.h:43,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/ios:43,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/ostream:40,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/iostream:40,
из main3.cc:1:
/usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.tcc:361:6 : примечание: std :: basic_string<_CharT, _Traits, _Alloc>& станд :: basic_string<_CharT, _Traits, _Alloc> :: insert (std :: basic_string<_CharT, _Traits, _Alloc> :: size_type, const _CharT *, std :: basic_string<_CharT, _Traits, _Alloc> :: size_type) [with _CharT = char; _Traits = std :: char_traits; _Alloc = std :: allocator; станд :: basic_string<_CharT, _Traits, _Alloc> :: size_type = unsigned int] /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.tcc:361:6 : примечание: кандидат ожидает 3 аргумента, 2 предоставлены
В файл включен из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/string:54:0 ,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/locale_classes.h:42,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/ios_base.h:43,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/ios:43,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/ostream:40,
из /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/iostream:40,
из main3.cc:1:
/usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1293:7 : примечание: std :: basic_string<_CharT, _Traits, _Alloc>& станд :: basic_string<_CharT, _Traits, _Alloc> :: insert (std :: basic_string<_CharT, _Traits, _Alloc> :: size_type, const _CharT *) [with _CharT = char; _Traits = std :: char_traits; _Alloc = std :: allocator; станд :: basic_string<_CharT, _Traits, _Alloc> = std :: basic_string; станд :: basic_string<_CharT, _Traits, _Alloc> :: size_type = unsigned int] /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1293:7 : примечание: нет известного преобразования для аргумента 1 из â__gnu_cxx :: __ normal_iterator> â в âstd :: basic_string :: size_type {aka unsigned int} â
/usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1316:7 : примечание: std :: basic_string<_CharT, _Traits, _Alloc>& станд :: basic_string<_CharT, _Traits, _Alloc> :: insert (std :: basic_string<_CharT, _Traits, _Alloc> :: size_type, std :: basic_string<_CharT, _Traits, _Alloc> :: size_type, _CharT) [with _CharT = char; _Traits = std :: char_traits; _Alloc = std :: allocator; станд :: basic_string<_CharT, _Traits, _Alloc> = std :: basic_string; станд :: basic_string<_CharT, _Traits, _Alloc> :: size_type = unsigned int] /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1316:7 : примечание: кандидат ожидает 3 аргумента, 2 предоставлены
/usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1334:7 : примечание: std :: basic_string<_CharT, _Traits, _Alloc> :: итератор std :: basic_string<_CharT, _Traits, _Alloc> :: insert (std :: basic_string<_CharT, _Traits, _Alloc> :: iterator, _CharT) [with _CharT = char; _Traits = std :: char_traits; _Alloc = std :: allocator; станд :: basic_string<_CharT, _Traits, _Alloc> :: iterator = __gnu_cxx :: __ normal_iterator>; имя_папки _Alloc :: rebind<_CharT> :: other :: pointer = char *] /usr/local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/basic_string.h:1334:7 : примечание: нет известного преобразования для аргумента 1 из â__gnu_cxx :: __ normal_iterator> â в âstd :: basic_string :: iterator {aka __gnu_cxx :: __ normal_iterator>} â

Я знаю, что тип p->first это не тот, который принимает функция вставки. но я не знаю, как преобразовать их друг в друга.

0

Решение

Кажется, проблема в том, что boost настроен для использования с другой версией компилятора, а не той, которую вы используете в данный момент.

Не могли бы вы добавить детали того, как вы его скомпилировали?

1

Другие решения

Проблема может заключаться в использовании вами std::string::insert. Я не вижу версию вставки (итератор, строка) среди ее многочисленных перегрузок.

Возможно, вы захотите вызвать нужную версию, явно указав длину массива char:

void insert (iterator p, size_t n, char c)
1