首页 文章

使用boost :: sregex_token_iterator时出错

提问于
浏览
0

我想搜索正则表达式并用颜色打印 . 我使用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“未知的编译器版本 - 请运行配置测试并报告结果”[-Wcpp] main3 .cc:在函数âintmain(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; std :: basic_string <CharT, Traits,_Alloc> :: iterator = __gnu_cxx :: __ normal_iterator>; typename _Alloc :: rebind <_CharT> :: other :: pointer = char *; std :: 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:注意:模板参数演绎/替换失败: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>, nuu_cxx :: __ normal_iterator >> ::firstâ(typeâ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,fr om /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>&std :: 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; std :: basic_string <CharT, Traits,_Alloc> = std :: basic_string; std :: 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>â到:: basic_string :: size_type â/ 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>&std :: 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; std :: basic_string <CharT, Traits,_Alloc> = std :: basic_string; std :: 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>&std :: 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; std :: 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>&std :: 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; std :: basic_string <CharT, Traits,_Alloc> = std :: basic_string; std :: 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>â到:: basic_string :: size_type â/ 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>&std :: 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; std :: basic_string <CharT, Traits,_Alloc> = std :: basic_string; std :: 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> :: iterator 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; std :: basic_string <CharT, Traits,_Alloc> :: iterator = __gnu_cxx :: __ normal_iterator>; typename _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:注意:没有来自âconst的参数1的已知转换__gnu_cxx :: __ normal_iterator>ââ€:: 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; std :: basic_string <CharT, Traits,_Alloc> :: iterator = __gnu_cxx :: __ normal_iterator>; typename _Alloc :: rebind <_CharT> :: other :: pointer = char *; std :: 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:注意:模板参数推断/替换失败: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>, nuu_cxx :: __ normal_iterator >>> :: second . gnu_cxx: : normal_iterator <_Iterator,_Container> :: operator>((&(( gnu_cxx :: __ normal_iterator> :: difference_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>&std: :basic_string <CharT, Traits,_Alloc> :: insert(std :: basic_string <_CharT,_Traits,_Alloc> :: size_type,const std :: basic_string <_CharT,_Traits,_Alloc>&)[with _CharT = char; _Traits = std :: char_traits; _Alloc = std :: allocator; std :: basic_string <CharT, Traits,_Alloc> = std :: basic_string; std :: 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>âto :: basic_string :: size_type â/ usr /local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c /4.7.2/bits/basic_string.h:1252:7:note :std :: basic_string <_CharT,_Traits,_Alloc>&std :: 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)[与_CharT = char; _Traits = std :: char_traits; _Alloc = std :: allocator; std :: basic_string <CharT, Traits,_Alloc> = std :: basic_string; std :: 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>&std :: 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; std :: 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>&std :: 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; std :: basic_string <CharT, Traits,_Alloc> = std :: basic_string; std :: 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>â€:: basic_string :: size_type â/ usr /local/lib/gcc/i686-pc-linux-gnu/4.7.2/../../../../include/c /4.7.2/bits/basic_string.h:1316:7:note :std :: basic_string <_CharT,_Traits,_Alloc>&std :: 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; std :: basic_string <CharT, Traits,_Alloc> = std :: basic_string; std :: 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> :: iterator 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; std :: basic_string <CharT, Traits,_Alloc> :: iterator = __gnu_cxx :: __ normal_iterator>; typename _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>â到:: basic_string :: iterator {aka __gnu_cxx :: __ normal_iterator>}一个

我知道 p->first 的类型不是insert函数接受的类型 . 但我不知道如何将这些转换为彼此 .

2 回答

  • 1

    问题似乎是这样的boost配置为与不同版本的编译器一起使用,而不是您当前使用的版本 .

    您能否添加编译方式的详细信息?

  • 1

    问题可能是您使用std::string::insert . 我可以't see an insert(iterator, string) version among it'多次重载 .

    您可能希望通过显式声明char数组的长度来调用所需的版本:

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

相关问题