gpt4 book ai didi

c++ - Boost wave上下文concept_check问题

转载 作者:行者123 更新时间:2023-11-28 08:25:59 26 4
gpt4 key购买 nike

我在 boost 和 gcc 中使用概念检查进行调试。代码发现是这样的错误

/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

它指的是这一行

context_type::iterator_type first = ctx.begin();
context_type::iterator_type last = ctx.end();

408 是那里的第一行,但 409 非常相似,我想它也会有同样的问题。

context_type 是这样定义的

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 足以知道这是什么意思?

最佳答案

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

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

关于c++ - Boost wave上下文concept_check问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4071145/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com