11
以下代碼無法構建在最近的編譯器上(g ++ - 5.3,clang ++ - 3.7)。通過鐺返回使用string_view進行地圖查找
#include <map>
#include <functional>
#include <experimental/string_view>
void f()
{
using namespace std;
using namespace std::experimental;
map<string, int> m;
string s = "foo";
string_view sv(s);
m.find(sv);
}
錯誤:
error: no matching member function for call to 'find'
m.find(sv);
~~^~~~
但不應find
能夠使用可比類型? Cppreference提到了以下的過載:與boost::string_ref
發生
template< class K > iterator find(const K& x);
相同的錯誤。
這個伎倆! –