2017-07-19 35 views
1

私が使用するライブラリ(ogdf)のクラスで定義されている列挙型にアクセスしようとしています。C++ enumはメンバーではありません

See line 65 hereライブラリの列挙型を定義します。私は同じようにそれを実行しようとした場合

error: ‘ogdf::StressMinimization::TERMINATION_CRITERION’ has not been declared 

:私は次のエラーを取得する

ogdf::StressMinimization::TERMINATION_CRITERION::POSITION_DIFFERENCE 

私はそのようにアクセスしようとした場合(私が思うだろうこれは正しい方法です)その:

ogdf::StressMinimization::POSITION_DIFFERENCE 

私はこのエラーを取得します私は経由で私の.cppファイルのヘッダーを含むよもちろん

error: ‘POSITION_DIFFERENCE’ is not a member of ‘ogdf::StressMinimization’ 

:これはogdfライブラリの一部であるとして

#include <ogdf/energybased/StressMinimization.h> 

、円形に問題がない最も頻繁にあるように思われ、含まれますそれを引き起こす問題。

なぜこのようなことが起こっているのか分かりませんが、何か助けていただければ幸いです。 詳細が必要な場合は、私にご連絡ください。質問を更新します。

+0

'ogdf :: StressMinimization :: POSITION_DIFFERENCE'は大丈夫です。他のメンバーにアクセスできますか? –

+0

これは唯一のエラーですか?他人の結果である可能性があります。 – Serge

答えて

1

あなたが最新であると仮定すると、列挙型の名前が変更され、そのドキュメントが古くなっている可能性があります。そのドキュメントは2015年からであるように見えます、最新のスナップショットがある(現在は)https://github.com/ogdf/ogdf/blob/master/include/ogdf/energybased/StressMinimization.hから2月2017からは、列挙型は次のようになります。

enum class TerminationCriterion { 
    None, PositionDifference, Stress 
}; 

をので、PositionDifferenceでTerminationCriterionとTERMINATION_CRITERIONおよび/またはPOSITION_DIFFERENCEを交換してくださいと表示さそれが動作すれば。

+0

私は馬鹿だと感じる。私はそれを自分で調べて、ドキュメントを信頼してはいけません。 – nurgan

関連する問題