为什么我编的程序里不能inlcude "xxx.cpp"文件

zhuzhubjtu 2011-09-11 07:08:20
新手一枚。求问。

我编了一个XXX.cpp文件

#include <iostream.h>

#define maxlen 50
typedef int elemtype;
typedef elemtype sqlist[maxlen];
void adjust (sqlist A,int n)
{
sqlist B;
int i,x=0,y=n-1;
for(i=0;i<n;i++)
{
if(A[i]<0)
{
B[x]=A[i];
x++;
}
else
{
B[y]=A[i];
y--;
}
}
for(i=0;i<n;i++)
A[i]=B[i];

}

然后另外编了一个YYY.cpp文件
#include "XXX.cpp"
int create (sqlist A)
{
int i,n;
cout<<"创建一个顺序表"<<endl;
cout<<" 输入元素个数: ";
cin>>n;
for(i=0;i<n;i++)
{
cout<<"输入第"<<i+1<<"个元素值:";
cin>>A[i];
}
return n;
}
void disp(sqlist A,int n)
{
int i;
cout<<"输出一个顺序表"<<endl<<" ";
if(n==0) cout<<"空表";
for(i=0;i<n;i++)
cout<<A[i]<<" ";
cout<<endl;
}
int ins(sqlist A,int n,int i,elemtype x)
{
int j;
if(i<0||i>n)
cout<<"i值下溢或上溢"<<endl;
else
{
for(j=n-1;j>=i;j--)
A[j+1]=A[j];
A[i]=x;
n++;
}
return n;
}
int del(sqlist A,int n,int i)
{
int j;
if(i<0||i>n)
cout<<"i值下溢或上溢"<<endl;
else
{
for(j=i-1;j<n;j++)
A[j]=A[j+1];
n--;
}
return n;
}
int find(sqlist A,int n,elemtype x)
{
int i=0;
while(i<=n && A[i]!=x)
i++;
if(i<n)
return 1;
else
return 0;
}
void main()
{
sqlist A;
int n;
n=create(A);
disp(A,n);
adjust(A,n);
disp(A,n);
}

然后build的时候就出现了下面的错误,在网上找了很多2005的解决办法,还是解决不了。
head.obj : error LNK2005: "void __cdecl adjust(int * const,int)" (?adjust@@YAXQAHH@Z) already defined in test.obj
Debug/tstt.exe : fatal error LNK1169: one or more multiply defined symbols found

最后我试了一下把上面的XXX.cpp改成了XXX.h之后就可以了。
求个高手帮我解答一下这个是怎么回事。另外,如果我就是想include .cpp的话要怎么办呢。我试过改忽略库什么的都不好使。谢谢!
...全文
46 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuzhubjtu 2011-09-11
  • 打赏
  • 举报
回复
谢谢楼上解答。我刚才试了下2楼说的。解决了。第一次在这边发帖。这么快就得到解答。多谢!
fox000002 2011-09-11
  • 打赏
  • 举报
回复
include 的 cpp 文件不能加到 project 的,否则 vc 会作为单独的编译单元来编译链接的

不过 include cpp 文件就是纯 ep
ANT2AUNTH 2011-09-11
  • 打赏
  • 举报
回复
这里都是头文件啊!*.h
哪里有用*.cpp的
你可以把建立一个XXX.h
把XXX.cpp的变量声名放里面,然后

#include <iostream>
#incldue "XXX.H"

64,654

社区成员

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

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