这不是关于 RapidXML 约定的具体问题,而是关于使用 std::vector 构造函数的问题。
在我发现的其他使用 RapidXML 的所有示例中,每个人总是char
使用 ' 构造函数将数据读入 's的向量中,std::vector
如下所示:
vector<char> buffer((istreambuf_iterator<char>(theFile)), istreambuf_iterator<char>());
这一定是有原因的,因为当我尝试将其更改为std::string
's 的向量时,我得到一个充满错误的屏幕,这是第一个错误:
error: invalid conversion from ‘void*’ to ‘std::istreambuf_iterator<std::basic_string<char> >::streambuf_type* {aka std::basic_streambuf<std::basic_string<char>, std::char_traits<std::basic_string<char> > >*}’
有没有办法使用 std::string 如果没有,为什么?