编译错误error C2332: “class”: 缺少标记名

在使用C++的Regex源码时,出现一下编译错误:

error C2332: “class”: 缺少标记名

error C3306: “regex::detail::<unnamed-tag>”: 不允许存在未命名的类 模板

error C2988: 不可识别的模板声明/定义

error C2143: 语法错误: 缺少“;”(在“alignof”的前面)

error C2059: 语法错误:“alignof”

error C2143: 语法错误: 缺少“;”(在“{”的前面)

error C2447: “{”: 缺少函数标题(是否是老式的形式表?)

原因及解决方法:

定位到的类定义重复了,将类重命名即可,例如alignof改为alignof_Rename。

又有错误:

1>regexpr2.obj : error LNK2020: 无法解析的标记(0A00131F) "protected: static enum regex::TOKEN const * const regex::perl_syntax_base::s_rgreg" (?s_rgreg@perl_syntax_base@regex@@1QBW4TOKEN@2@B)

1>regexpr2.obj : error LNK2020: 无法解析的标记(0A001332) "protected: static enum regex::TOKEN const * const regex::perl_syntax_base::s_rgescape" (?s_rgescape@perl_syntax_base@regex@@1QBW4TOKEN@2@B)

1>regexpr2.obj : error LNK2001: 无法解析的外部符号 "protected: static enum regex::TOKEN const * const regex::perl_syntax_base::s_rgreg" (?s_rgreg@perl_syntax_base@regex@@1QBW4TOKEN@2@B)

1>regexpr2.obj : error LNK2001: 无法解析的外部符号 "protected: static enum regex::TOKEN const * const regex::perl_syntax_base::s_rgescape" (?s_rgescape@perl_syntax_base@regex@@1QBW4TOKEN@2@B)

解决方法:

REGEX_SELECTANY TOKEN const perl_syntax_base::s_rgreg[ UCHAR_MAX + 1 ] =

修改为:

/*REGEX_SELECTANY*/ TOKEN const perl_syntax_base::s_rgreg[ UCHAR_MAX + 1 ] =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值