gpt4 book ai didi

C++ 枚举不是的成员

转载 作者:行者123 更新时间:2023-11-30 05:11:12 25 4
gpt4 key购买 nike

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com