나는 다음과 같은 문법이 : 내가 컴파일 할 때문제는 정신이되지 않습니다 향상
#include <boost/spirit.hpp>
struct point_grammar
: public boost::spirit::grammar<point_grammar>
{
template <typename Scanner>
struct definition
{
boost::spirit::rule<Scanner> E, S, V;
definition(const point_grammar &self)
{
using namespace boost::spirit;
E = S >> V;
S = '@' >> +(~ch_p('@') - V);
V = str_p("[email protected]") | str_p("[email protected]");
}
const boost::spirit::rule<Scanner> &start()
{
return E;
}
};
};
이 컴파일러는 나에게 다음과 같은 경고 표시를 :
/usr/include/boost/spirit.hpp:18:4: warning: "This header is deprecated. Please use: boost/spirit/include/classic.hpp"
그러나 때 변화 부스트/정신에 대한 사용법 #include /include/classic.hpp, 다음 오류가 있습니다 :
(expected template-name before ‘<’ token) in the line where is: : public boost::spirit::grammar.
내가 할 수있는 일은 무엇입니까?