类/结构定义错误
Class/struct definition error
我正在移植/更新一些非常旧的代码,我的c++不是很熟练(我主要是C程序员)。我收到了这个错误-我如何修复它,有人能解释这个混乱吗?注意,第512行是结构体定义-第一行?
In file included from src/aaa_dict_mngr.cxx:38:0:
./include/aaa_parser_avpvalue.h:512:41: error: expected template-name before '<' token
./include/aaa_parser_avpvalue.h:512:41: error: expected '{' before '<' token
./include/aaa_parser_avpvalue.h:512:41: error: expected unqualified-id before '<' token
违法代码:struct DiamidentGrammar : public grammar<DiamidentGrammar>
{
template <typename ScannerT>
struct definition
{
definition(DiamidentGrammar const& self)
{
diameterIdentity = realm;
realm = label >> *('.' >> label); // No recursive rule allowed.
label = diameterName | diameterDname;
diameterName = alpha_p >> *(alnum_p | '-');
diameterDname = digit_p >> +(alnum_p | '-');
}
rule<ScannerT> diameterIdentity, realm, label, diameterName, diameterDname;
rule<ScannerT> const& start() const { return diameterIdentity; }
};
};
这只是古老的精灵代码。您需要使用经典的headers/命名空间:
查看Live On Coliru
哦,无论如何,升级!Spirit V2已经有几年的历史了,而Spirit x3即将问世
#include <boost/spirit/include/classic.hpp>
using namespace boost::spirit::classic;
struct DiamidentGrammar : public grammar<DiamidentGrammar>
{
template <typename ScannerT>
struct definition
{
definition(DiamidentGrammar const& self)
{
diameterIdentity = realm;
realm = label >> *('.' >> label); // No recursive rule allowed.
label = diameterName | diameterDname;
diameterName = alpha_p >> *(alnum_p | '-');
diameterDname = digit_p >> +(alnum_p | '-');
}
rule<ScannerT> diameterIdentity, realm, label, diameterName, diameterDname;
rule<ScannerT> const& start() const { return diameterIdentity; }
};
};
int main()
{
}
相关文章:
- 如何修复此错误:未定义对"距离(浮点数,浮点数,浮点数,浮点数,浮点数)"的引用
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 在没有定义返回类型的函数中返回布尔值,并将结果保存在无错误的char编译中-为什么
- 使用命名空间时出现多个定义错误
- C++错误C2600:无法定义编译器生成的特殊成员函数(必须首先在类中声明)
- 对C宏的未定义引用,但在定义它时会出现重新定义错误
- 编写代码时C++出现错误:错误 1 错误 C2601:'circle':本地函数定义是非法的
- 在运算符重载定义中使用成员函数(const错误)
- 尝试调用 .h 文件中定义的变量时出现变量未定义错误
- 在C++中使用内联方法时出现未定义的符号错误
- 已定义函数时出现 G++ "未定义的引用"错误
- C++ G++ 编译器 - 错误:隐式声明的定义
- 链接 cmake 时出现未定义的引用错误
- 在头文件和 cpp 文件中使用一次 #pragma 时出现结构重定义错误
- 错误:未定义对'oboe::AudioStreamBuilder::openStream(oboe::AudioStream**)'的引用
- 链接阶段出现多重定义错误
- 已经以性格错误定义了
- vim ctag导致了对乐趣的错误定义
- C++ 隐式声明的编译器错误定义
- 编译器错误-定义问题.C++