これは、std::vector のコンストラクターの使用に関する質問であるため、RapidXML 規則に関する特定の質問ではありません。
RapidXML を使用して私が見つけた他のすべての例では、誰もが次のように 's コンストラクターchar
を使用して常にデータを 's のベクトルに読み込みます。std::vector
vector<char> buffer((istreambuf_iterator<char>(theFile)), istreambuf_iterator<char>());
のベクトルに変更しようとするとstd::string
、これが最初のエラーであるエラーでいっぱいの画面が表示されるため、これには理由があるに違いありません。
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 を使用する方法はありますか?