C++, VC高手,大虾必看,一定给分

levin_zhang 2001-09-25 04:48:02
文件CMIRequest.h
/////////////////////////////////BEGIN
class CMIRequest {
static int MODEL;
.......
};

int CMIRequest::MODEL = 1;
/////////////////////////////////END

文件test.h
/////////////////////////////////BEGIN
#include "CMIRequest.h"
class test{
};
/////////////////////////////////END

编译不通过:error LNK2005: "private: static int CMIRequest::MODEL" (?MODEL@CMIRequest@@0HA) already defined in CMIRequest.obj
该如何解决???
急急急急急急急急急急!!!!
谢谢!
...全文
93 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
levin_zhang 2001-09-25
  • 打赏
  • 举报
回复
我已经给你15分了,够不够,Viper()?
levin_zhang 2001-09-25
  • 打赏
  • 举报
回复
怎么给你分呀,Viper(),谢谢。
招RD和QA 2001-09-25
  • 打赏
  • 举报
回复
将你的
int CMIRequest::MODEL = 1;
这一样 move to
CMIRequest.cpp文件中。
levin_zhang 2001-09-25
  • 打赏
  • 举报
回复
什么意思?说明白一些好吗?拜托。
anni 2001-09-25
  • 打赏
  • 举报
回复
你傻傻的,这也不知道,多加个库文件不就成了
levin_zhang 2001-09-25
  • 打赏
  • 举报
回复
我的就是vc6.0
在CMIRequest.h中已经定义了static变量,在test.h中include "cmirequest.h"时,他就报告重复定义的错误。
目前,我用如下方法暂时避过了此错误:
将static 变量全部移至cpp文件中,因为msdn上(索引输入static即可)解释:文件中的static变量,只在该文件中有效。
这样,test.h中包含cmirequest.h时,就看不见static变量了。
不知这样的解决方法是否正确,还有其他高招吗?

我用了3年Java了,vc马马虎虎,Java中定义static变量、方法简单至及,vc真是麻烦。
zhao_ivan 2001-09-25
  • 打赏
  • 举报
回复
MODEL重复定义了。
cococut 2001-09-25
  • 打赏
  • 举报
回复
兄弟,在vc6.0上编译没有错误!
wending 2001-09-25
  • 打赏
  • 举报
回复
静态变量赋初值上似乎有点问题。我去查书看看。呵呵。
levin_zhang 2001-09-25
  • 打赏
  • 举报
回复
up是何意思
我要答案,急死了
Jneu 2001-09-25
  • 打赏
  • 举报
回复
up

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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