성령 문법에 대한 반복 구문 분석을 사용하려고하면 반복자 유형에서 const char *로 변환 오류를 전달하는 인수가 발생합니다. 이 문제를 어떻게 해결할 수 있습니까?부울 :: 스피릿 문법과 반복자 구문 분석 사용
몇 가지 제한 사항이 있습니다. 큰 입력에 반복자 어댑터를 사용하고 있으므로 C 스타일 문자열로 변환하는 것이 적합하지 않습니다.
#include <boost/spirit/core.hpp>
#include <boost/spirit/iterator/file_iterator.hpp>
#include <vector>
#include <string>
using std;
using boost::spirit;
struct ex : public grammar<route_grammar> {
template <typename ScannerT> struct defintion {
definition(ex const& self) {
expression = real_p;
}
rule<ScannerT> expression;
rule<ScannerT> const& start() const { return expression; }
};
int main() {
file_iterator<char> first;
file_iterator<char> last = first.make_end();
ex ex_p;
parse_info<file_iterator<char> > info = parse(first, last, ex_p, space_p);
return 0;
}
이 코드 바꿈 : 오류 : 여기
샘플 코드는 문제 시연 인수에const char*
에
const boost::spirit::file_iterator<char_t, boost::spirit::fileiter_impl::mmap_file_iterator<char_t> >
을 변환 할 수 없습니다 여기
글쎄요, 유용한 정보입니다. 컴파일러 버전 문제 일 것 같아요. –