重定义:不同的基类型

firstprayer 2011-05-28 11:05:00
C++中使用FORMS编程

在头文件stdafx.h里定义

static LinkedList<Project> WholeEnvironmentProjectList;

然后在几个窗体的头文件中定义

extern LinkedList<Project> WholeEnvironmentProjectList;

这时是可以编译通过的;但是,如果如法炮制再在stdafx.h定义一个
static LinkedList<Event> EventList;
窗体头文件定义
extern LinkedList<Event> EventList;

就会出现以下错误:
>c:\users\zhangty\desktop\timemanager\timemanager\MainForm.h(29): error C2371: “TimeManager::EventList”: 重定义;不同的基类型
1> c:\users\zhangty\desktop\timemanager\timemanager\stdafx.h(14) : 参见“TimeManager::EventList”的声明
1> AddTaskMain.cpp
1>c:\users\zhangty\desktop\timemanager\timemanager\AddProjectMain.h(16): error C2371: “TimeManager::EventList”: 重定义;不同的基类型
1> c:\users\zhangty\desktop\timemanager\timemanager\stdafx.h(14) : 参见“TimeManager::EventList”的声明
1>c:\users\zhangty\desktop\timemanager\timemanager\MainForm.h(29): error C2371: “TimeManager::EventList”: 重定义;不同的基类型
1> c:\users\zhangty\desktop\timemanager\timemanager\stdafx.h(14) : 参见“TimeManager::EventList”的声明
1> AssemblyInfo.cpp
...全文
2474 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hahayezhe112 2011-05-31
  • 打赏
  • 举报
回复
在链接的命令行中输入/force可以忽略掉重定义
firstprayer 2011-05-30
  • 打赏
  • 举报
回复
Event和Project都是类,定义在同一个头文件里,但是为什么Project能过,Event不能过呢?
老邓 2011-05-30
  • 打赏
  • 举报
回复
错误已经说的很清楚了,不上代码,就自己找吧。
lucky-lucky 2011-05-30
  • 打赏
  • 举报
回复
这个貌似定义错了哦
static LinkedList<Event> EventList;
窗体头文件定义
错误提示说error C2371: “TimeManager::EventList”: 重定义;不同的基类型
我猜想你在这个TimeManager类里面定义了
extern LinkedList<Event> EventList;
这样是局部变量,只能将EventList当作全局变量使用
downmooner 2011-05-28
  • 打赏
  • 举报
回复
Event 头文件被都次包含?
liuyiguo0727 2011-05-28
  • 打赏
  • 举报
回复
头文件被多次包含?

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧