gpt4 book ai didi

c++ - 从 const char* 到迭代器错误的 "no known conversion"- 另一种方式

转载 作者:行者123 更新时间:2023-11-30 02:32:20 36 4
gpt4 key购买 nike

我正在做以下事情:

using namespace boost;
const char* line = // ...
size_t line_length = // ...
// ...
tokenizer<escaped_list_separator<char> > line_tokenizer(
line, line + line_length,
escaped_list_separator<char>('\\', ',', '\"'));

期望使用 boost::tokenizer构造函数

tokenizer(Iterator first, Iterator last,
const TokenizerFunc& f = TokenizerFunc())
: first_(first), last_(last), f_(f) { }

但是 GCC 4.9.3 给了我:

no known conversion for argument 1 from ‘const char*’ to ‘__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >’

现在,我看到了几个 related questions其中答案是忘记#include <algorithm> - 但我已经包含了它。是否还有其他缺失的包含,或者是另一个问题?

最佳答案

正如编译器错误所说,无法从 const char* 构建迭代器。您可以使用 std::string:

修复它
std::string line = "some string";
// ...
tokenizer<escaped_list_separator<char> > line_tokenizer(
line.begin(), line.end(),
escaped_list_separator<char>('\\', ',', '\"'));

关于c++ - 从 const char* 到迭代器错误的 "no known conversion"- 另一种方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36575204/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com