我正在尝试访问在我使用的库(ogdf)类中定义的枚举。
See line 65 here用于库中枚举的定义。
如果我尝试这样访问它(我认为这是正确的方法):
ogdf::StressMinimization::TERMINATION_CRITERION::POSITION_DIFFERENCE
我收到以下错误:
error: ‘ogdf::StressMinimization::TERMINATION_CRITERION’ has not been declared
如果我尝试这样做:
ogdf::StressMinimization::POSITION_DIFFERENCE
我收到此错误:
error: ‘POSITION_DIFFERENCE’ is not a member of ‘ogdf::StressMinimization’
当然我通过以下方式将标题包含在我的.cpp文件中:
#include <ogdf/energybased/StressMinimization.h>
由于这是ogdf库的一部分,循环包含没有问题,这似乎是引起这种情况的最常见问题。
我不明白为什么会发生这种情况,非常感谢任何帮助! 如果您需要任何进一步的细节,请告诉我,我会更新问题。
答案 0 :(得分:1)
假设您是最新的,可能是枚举的名称已更改且文档已旧;看起来这个文档来自2015年,最新的快照是(目前)从2017年2月开始。从https://github.com/ogdf/ogdf/blob/master/include/ogdf/energybased/StressMinimization.h开始,枚举现在看起来像这样:
enum class TerminationCriterion {
None, PositionDifference, Stress
};
因此,尝试将TERMINATION_CRITERION
替换为TerminationCriterion和/或POSITION_DIFFERENCE
替换为PositionDifference
,看看是否有效。