C++ 枚举不是的成员

标签 c++ enums

我正在尝试访问在我使用的库 (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’

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

#include <ogdf/energybased/StressMinimization.h>

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

我不明白为什么会这样,非常感谢任何帮助! 如果您需要更多详细信息,请告诉我,我会更新问题。

最佳答案

假设您使用的是最新版本,可能是枚举的名称已更改并且文档已旧;看起来该文档来自 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,看看是否可行。

关于C++ 枚举不是的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45179668/

相关文章:

c# - 具有 int 值的公共(public)枚举

sql-server - Microsoft SQL Server 2008 Management Studio 中的备用枚举数据类型是什么?

c++ - GRPC 错误代码 12 客户端服务器应用程序 C++ [调试]

c++ - Gtk对话效果

c++ - 在 Linux (Ubuntu) 中将命令行输出打印到文本文件中

java - 通过反射获取枚举值

c# - ToString ("f2"中的 .NET 舍入错误)

c++ - 嘶嘶声 : Ideal solution

java - 尝试从枚举类创建字符串的 ArrayList

c++ - C++ 中的隐式枚举值