为什么g ++ / clang不支持std :: basic_string <t> ::用const_iterators替换?</t>

时间:2015-03-22 22:02:55

标签: c++ c++11 g++ clang stdstring

正如我在最新的标准草案中找到的那样,在cppreference.com std::basic_string<T>::replace上可以调用const_iterator作为其参数(例如,在其第二种形式中,其中包含部分字符串)被其他字符串替换)并且甚至没有迹象表明它在C ++ 11/14中已被更改

然而,当我看到g ++ / clang ++时,即使是最新的稳定版本也拒绝编译以下代码:

#include <string>

void f () {
   std::string test = "testtt";
   test.replace (test.cbegin (), test.cend (), "omg");
}

所以我的问题是:我错过了什么,我的例子是错的吗?那方面的标准有变化吗?或者它是编译器标准库的错误吗?

0 个答案:

没有答案