gpt4 book ai didi

c++ - 在 ClassB 中使用 ClassA 的枚举

转载 作者:行者123 更新时间:2023-11-28 02:43:02 25 4
gpt4 key购买 nike

我不确定我做错了什么。我正在尝试在另一个类中使用 classA 的公共(public)枚举。任何帮助,将不胜感激。谢谢

// proA.h
#pragma once

//#include "editEntity.h" // ***This was my problem***

class proA
{
public:
enum myEnum
{
jnkA,
jnkB,
jnkC
};
};
// proB.h
#pragma once

#include "proA.h"
#include <vector>
//class bld_DeviceFilter;

class proB
{
private:
std::vector<proA::myEnum> list_of_myEnums;
};

如果我取消注释“class proA”,我会收到以下错误:

Error 7 error C2027: use of undefined type 'proA'

如果我有“#include proA.h”,我会收到以下错误:

Error 11 error C2027: use of undefined type 'proA'

我在另一个堆栈溢出页面中读到,您需要在 proA::myEnum 之前放置“枚举”,以便将枚举用作类型。当我按照建议去做时:

std::vector<enum proA::myEnum> list_of_myEnums;

然后我得到了以下错误:

Error 16 error C2011: proA : 'enum' type redefinition

最佳答案

尝试检查几件事:1- 是 #include <vector>在你的代码中?2- 两个类都在同一个项目中并且都标记为要编译吗?

枚举不需要是静态的,我在这里做了一个快速测试,它像你发布的那样工作,除了缺少的 #include <vector> .

关于c++ - 在 ClassB 中使用 ClassA 的枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25313541/

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