Je débogue avec la vérification de concept dans boost et gcc. Le code trouve sont des erreurs comme ceBoost wave context concept_check question
/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
Il me réfère à cette ligne
context_type::iterator_type first = ctx.begin();
context_type::iterator_type last = ctx.end();
408 est la première ligne là, mais 409 est si semblable que j'imagine que ce sera la même question.
context_type est défini comme tel
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 est censé faire partie du contexte. Est-ce que quelqu'un sait Boost :: Wave assez pour savoir ce que cela signifie?
je regardais cpp_iterator.hpp pour essayer de savoir exactement quel type il pense est inassignable. – aschepler
va donner un coup de feu, et éditer le message si nécessaire! – Michael
Je ne pense pas que ce soit la partie cpp, la vérification du concept d'amplification vérifie là pour une affectation et un opérateur de copie – Michael