【发布时间】:2017-10-27 07:32:59
【问题描述】:
#include <string_view>
class str_ref : public std::string_view
{
public:
using std::string_view::string_view;
};
int main()
{
std::string_view sv;
str_ref sr("", 0);
str_ref sr2(sv); // error C2664: 'str_ref::str_ref(const str_ref &)': cannot convert argument 1 from 'std::string_view' to 'const char *const '
}
为什么在这里找不到 (string_view) 的构造函数?不应该使用 using 语句导入此构造函数吗?正在找到 (const char*, size_t) 构造函数。 我正在使用 VS2017。
【问题讨论】:
-
因为它是一个模板类
-
@dgrat 你能详细说明一下吗?
-
@dgrat 不,不是。
std::string_view是std::basic_string_view<char, std::char_traits<char>>的完全专业化
标签: c++ c++17 visual-studio-2017