首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++枚举不是

C++枚举不是
EN

Stack Overflow用户
提问于 2017-07-19 09:43:38
回答 1查看 1.3K关注 0票数 1

我正在尝试访问在我使用的库(ogdf)的类中定义的枚举。

用于库中枚举定义的See line 65 here

如果我尝试这样访问它(我认为这是正确的方式):

代码语言:javascript
复制
ogdf::StressMinimization::TERMINATION_CRITERION::POSITION_DIFFERENCE

我得到以下错误:

代码语言:javascript
复制
error: ‘ogdf::StressMinimization::TERMINATION_CRITERION’ has not been declared

如果我试着这样做:

代码语言:javascript
复制
ogdf::StressMinimization::POSITION_DIFFERENCE

我得到了这个错误:

代码语言:javascript
复制
error: ‘POSITION_DIFFERENCE’ is not a member of ‘ogdf::StressMinimization’

当然,我通过以下方式将头文件包含在.cpp文件中:

代码语言:javascript
复制
#include <ogdf/energybased/StressMinimization.h>

因为这是ogdf库的一部分,所以循环包含没有问题,这似乎是导致循环包含的最常见问题。

我不明白为什么会发生这样的事情,任何帮助都非常感谢!如果您需要任何进一步的细节,请让我知道,我会更新问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-19 10:12:44

假设您使用的是最新版本,可能是枚举的名称已更改,文档已过时;看起来文档来自2015年,最新快照(目前)来自2017年2月。在https://github.com/ogdf/ogdf/blob/master/include/ogdf/energybased/StressMinimization.h中,枚举现在看起来像这样:

代码语言:javascript
复制
enum class TerminationCriterion {
    None, PositionDifference, Stress
};

因此,尝试用TerminationCriterion替换TERMINATION_CRITERION和/或用PositionDifference替换POSITION_DIFFERENCE,看看是否有效。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45179668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档