| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 557 人关注过本帖
标题:C语言程序LINK错误
只看楼主 加入收藏
z412290894
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-5-15
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
C语言程序LINK错误
我所编的C语言程序编译的时候都是OK的 可是到了build的时候就出现错误了
2.obj : error LNK2005: "public: __thiscall Customer::Customer(void)" (??0Customer@@QAE@XZ) already defined in 1.obj
2.obj : error LNK2005: "public: virtual __thiscall Customer::~Customer(void)" (??1Customer@@UAE@XZ) already defined in 1.obj
2.obj : error LNK2005: "int i" (?i@@3HA) already defined in 1.obj
2.obj : error LNK2005: "struct Room * room" (?room@@3PAURoom@@A) already defined in 1.obj
2.obj : error LNK2005: "class Customer * * customer" (?customer@@3PAPAVCustomer@@A) already defined in 1.obj

应该是头文件定义的问题 求大神帮忙解决 谢谢了

头文件如下:

#include<iostream.h>
#include<string.h>

void initial_room();
void welcome();
void enter();
void book_room();
void check_in();
void check_out();
void inquire();

int i=0;

struct Room
{
 int number;
 int dank;
 int price;
 int state;
};
class Customer
{
public:
    Customer();
 void set_name(char *n) {strcpy(name,n);}
 void set_ID(char *p) {strcpy(ID,p);}
 void set_room_number(int n) {room_number=n;}
 void set_day(int d) {day=d;}
 void set_prepaid(int p) {prepaid=p;}
 char *get_name() {return name;}
 char *get_ID() {return ID;}
 int get_room_number() {return room_number;}
 int get_day() {return day;}
 int get_prepaid() {return prepaid;}
 virtual ~Customer();
private:
 char name[10],ID[19];
 int room_number;
 int prepaid;
 int change;
 int day;
};

Customer::Customer()

{
cout<<"请输入顾客的姓名\n";
cin>>name;
cout<<"请输入顾客的身份证号\n";
cin>>ID;
prepaid=change=day=0;
}

Customer::~Customer()  
{   
cout<<"该顾客退房成功!"<<endl;
 }

 Room room[80];
 Customer *customer[80];
搜索更多相关主题的帖子: already public C语言 
2013-05-15 21:53
z412290894
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-5-15
收藏
得分:0 
有没有人帮忙呀~
2013-05-15 22:03
笑傲
Rank: 8Rank: 8
来 自:迪拜
等 级:蝙蝠侠
威 望:5
帖 子:223
专家分:856
注 册:2013-3-9
收藏
得分:20 
目测是程序多次包含这个头文件 , 引起了变量和类的重复定义

练就一身本领,只为笑傲江湖!
2013-05-15 22:26
z412290894
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-5-15
收藏
得分:0 
可是后面的函数里都要用这几个变量怎么办
2013-05-15 22:27
笑傲
Rank: 8Rank: 8
来 自:迪拜
等 级:蝙蝠侠
威 望:5
帖 子:223
专家分:856
注 册:2013-3-9
收藏
得分:0 
可以使用条件编译将文件改写为
#ifndef HEAD_H
#define HEAD_H
   ...
class a
{
....
}
....
#endif
这个格式,可以防止被多次重复定义

练就一身本领,只为笑傲江湖!
2013-05-15 22:37
快速回复:C语言程序LINK错误
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.042148 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved