0

boost::bimapを使用するフリントコードスニペットに問題があります。私は次のような単純なbimap.cppを持っています:

#include <boost/bimap.hpp>

typedef boost::bimap<int, double> TestBimap;

int main()
{
    TestBimap flintTest;
    return 0;
}

完璧なものではありませんが、それは単なる例です。私はそれにフリントを実行します:

flint --i../flexelint_cfg/ --i/home/rat/boost/1.45.0/include ../flexelint_cfg//co-gcc.lnt  bimap.cpp

フリントは膨大な数のエラーを返します。上からいくつかは次のとおりです。

    --- Module:   bimap.cpp (C++)$
    $
      While instantiating boost::bimaps::bimap<int,double> at File bimap.cpp line 7$
      While instantiating boost::bimaps::detail::bimap_core<int,double,mpl_::na,mpl_::na,mpl_::na>$
        at File /boost/1.45.0/include/boost/bimap/bimap.hpp$
        line 137$
      While instantiating struct boost::bimaps::detail::manage_bimap_key<int> at$
        File /boost/1.45.0/include/boost/bimap/detail/bimap_core.hpp$
        line 90$
      While instantiating struct boost::bimaps::set_of<int> at File$
        /boost/1.45.0/include/boost/bimap/detail/manage_bimap_key.hpp$
        line 69$
      While instantiating struct boost::concepts::requirement_<void$
        (*)(boost::AssignableConcept<int>)> at File /boost/1.45.0/include/boost/bimap/set_of.hpp$
        line 130$
      While instantiating struct boost::AssignableConcept<int> at File$
        /boost/1.45.0/include/boost/concept/detail/general.hpp$
        line 54$
      While instantiating struct boost::Assignable<int> at File$
        /boost/1.45.0/include/boost/concept_check.hpp$
        line 137$
      While instantiating struct boost::concepts::requirement_<void$
        (*)(boost::concepts::usage_requirements<boost::Assignable<int>>)> at File$
        /boost/1.45.0/include/boost/concept_check.hpp$
        line 139$
      While instantiating struct boost::mpl::if_<boost::concepts::not_satisfied<boost::concepts::usage_requirements<boost::Assignable<int>$
    >>,boost::concepts::constraint<boost::concepts::usage_requirements<boost::Assignable<int>>>,boost::concepts::requirement<boost::concepts::f$
    ailed ************usage_requirements::************>> at File$
        /boost/1.45.0/include/boost/concept/detail/general.hpp$
        line 56$
      While instantiating struct boost::concepts::not_satisfied<boost::concepts::usage_requirements<boost::Assignable<int>$
    >> at File /boost/1.45.0/include/boost/mpl/if.hpp$
        line 63$
                           _$
        TestBimap flintTest;$
    /boost/1.45.0/include/boost/concept/detail/has_constraints.hpp $
        44  Error 1015: Symbol 'constraints' not found in class$
    bimap.cpp  7  Info 831: Reference cited in prior message$
    /boost/1.45.0/include/boost/bimap/bimap.hpp $
        137  Info 831: Reference cited in prior message$
    /64bit/boost/1.45.0/include/boost/mpl/if.hpp $
        63  Info 831: Reference cited in prior message$
    /boost/1.45.0/include/boost/bimap/detail/bimap_core.hpp $
        90  Info 831: Reference cited in prior message$
    /boost/1.45.0/include/boost/concept_check.hpp $
        137  Info 831: Reference cited in prior message$
   /boost/1.45.0/include/boost/concept_check.hpp $
        139  Info 831: Reference cited in prior message$
    /boost/1.45.0/include/boost/concept/detail/general.hpp $
        54  Info 831: Reference cited in prior message$
    /boost/1.45.0/include/boost/concept/detail/general.hpp $
        56  Info 831: Reference cited in prior message$
    /boost/1.45.0/include/boost/bimap/detail/manage_bimap_key.hpp $
        69  Info 831: Reference cited in prior message$
    /boost/1.45.0/include/boost/bimap/set_of.hpp $
        130  Info 831: Reference cited in prior message$

私のFlexeLintバージョンは次のとおりです。

FlexeLint for C/C++ (Unix) Vers. 9.00i, Copyright Gimpel Software 1985-2012

私はそれを機能させるために何時間も費やしましたが、運がありませんでした。誰かが同じ問題にぶつかって解決策を持っていますか?これは設定ミスですか?これが必要な場合は、設定を投稿できます。

私は助けにとても感謝します

よろしくお願いします!

PS:flexelintタグをお願いします;>?

4

1 に答える 1

0

私と同じ問題にぶつかったあなたのために。この質問を Gimepl サポートに直接尋ねたところ、これは FlexeLint が c++11 可変個引数テンプレートを処理しないことに問題があると回答されました。したがって、現時点では、回避策は -elib および -e オプションでこれらの警告を抑制することだけです。

于 2012-11-23T12:29:22.347 に答える