首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Boost wave context concept_check问题

Boost wave context concept_check问题
EN

Stack Overflow用户
提问于 2010-11-02 00:59:46
回答 1查看 281关注 0票数 0

我在boost和gcc中调试concept check。代码发现的错误如下所示

代码语言:javascript
复制
/home/hoffman34/boostlibsinstall64/include/boost/wave/util/
cpp_iterator.hpp:2495:1:   instantiated from

'boost::wave::pp_iterator<boost::wave::context<__gnu_cxx::__normal_iterator<char*, 
std::basic_string<char> >, 
boost::wave::cpplexer::lex_iterator<boost::wave::cpplexer::lex_token<> >, 
boost::wave::iteration_context_policies::load_file_to_string, 
advanced_preprocessing_hooks> >'
../../../../ROSE/src/frontend/SageIII/attachPreprocessingInfo.C:408:34:   instantiated 
from here
/nfs/apps/gcc/4.5.0/lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../include
/c++/4.5.0/bits/boost_concept_check.h:209:7: error: using invalid field 
'__gnu_cxx::_SGIAssignableConcept<_Tp>::__a'
make[6]: *** [attachPreprocessingInfo.lo] Error 1

它将我引向这一行

代码语言:javascript
复制
context_type::iterator_type first = ctx.begin();
context_type::iterator_type last  = ctx.end();

408是第一行,但409是如此相似,我想它也会有同样的问题。

context_type就是这样定义的

代码语言:javascript
复制
typedef boost::wave::context<std::string::iterator, lex_iterator_type, 
boost::wave::iteration_context_policies::load_file_to_string, 
advanced_preprocessing_hooks > context_type;

iterator_type应该是上下文的一部分。有没有人知道Boost::Wave足够知道这是什么意思?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-02 07:19:13

这是一个已知的问题(参见Boost ticket #1079),但不是在Wave中,而是在Spirit (V1.x)的解析树生成代码中。概念检查会抱怨类型不完整。

此错误仅在使用gcc和--enable-concept-checks或#define _GLIBCXX_CONCEPT_CHECKS 1编译Wave时弹出。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4071145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档