visual-c++ - 结构和枚举类的循环引用问题
问题描述
我有一个头文件(A):
namespace CChristianLifeMinistryDefines
{
using S_DISCUSSION_HIST_ITEM = struct tagDiscussionHistItem
{
CString strName;
Schools eSchool;
COleDateTime datMeeting;
};
using DiscussionItemHistList = list<S_DISCUSSION_HIST_ITEM>;
}
上面的头文件包含在另一个头文件(B)中:
#include "ChristianLifeMinistryDefines.h"
using namespace CChristianLifeMinistryDefines;
enum class Schools
{
kMain,
kClass1,
kClass2,
kCount
};
我遇到的问题(我理解为什么)是在枚举之前定义Schools
的结构中提到的。S_DISCUSSION_HIST_ITEM
Schools
错误 C3646:“eSchool”:未知覆盖说明符
枚举已在我的项目中定义,无法移动,否则编译时可能会发生故障。
我所做的是将类定义从文件 B 移动到文件 A。但是还有其他解决方案吗?我不能简单地将标题 B 包含在标题 A 中,因为我得到了一个循环引用,而且我无法理解我在互联网上找到的内容。
解决方案
推荐阅读
- javascript - EventTarget.addEventListener() 在 innerHTML 之后不起作用
- apache-kafka - Kafka消费者消费数据非常慢,只消费前500条记录
- c# - 动态添加按钮到网格视图
- php - Alexa SMAPI - 更新意图返回错误:“指定的技能或区域设置没有关联的模型。”
- angularjs - 我们可以在单击饼图图例标签时删除条形图线吗?
- html - 为什么我的 .png 网站徽标文件不会显示在我的网站上?
- php - 如何在字符串中添加新行?
- spring - Spring Security:会话有效时禁用登录页面
- linux - 为什么子进程会调用 getppid()?Parent 的 PID 可以用来做什么?
- javascript - 如何从 HTML 字符串生成动态 HTML?