错误信息如下
--------------------Configuration: sqlist - Win32 Debug--------------------
Linking...
sq.obj : error LNK2005: "int __cdecl create(int * const)" (?create@@YAHQAH@Z) already defined in adjust.obj
sq.obj : error LNK2005: "void __cdecl disp(int * const,int)" (?disp@@YAXQAHH@Z) already defined in adjust.obj
sq.obj : error LNK2005: "int __cdecl ins(int * const,int,int,int)" (?ins@@YAHQAHHHH@Z) already defined in adjust.obj
sq.obj : error LNK2005: "int __cdecl del(int * const,int,int)" (?del@@YAHQAHHH@Z) already defined in adjust.obj
sq.obj : error LNK2005: "int __cdecl find(int * const,int,int)" (?find@@YAHQAHHH@Z) already defined in adjust.obj
Debug/sqlist.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.sqlist.exe - 6 error(s), 0 warning(s)
--------------------Configuration: sqlist - Win32 Debug--------------------
Linking...
sq.obj : error LNK2005: "int __cdecl create(int * const)" (?create@@YAHQAH@Z) already defined in adjust.obj
sq.obj : error LNK2005: "void __cdecl disp(int * const,int)" (?disp@@YAXQAHH@Z) already defined in adjust.obj
sq.obj : error LNK2005: "int __cdecl ins(int * const,int,int,int)" (?ins@@YAHQAHHHH@Z) already defined in adjust.obj
sq.obj : error LNK2005: "int __cdecl del(int * const,int,int)" (?del@@YAHQAHHH@Z) already defined in adjust.obj
sq.obj : error LNK2005: "int __cdecl find(int * const,int,int)" (?find@@YAHQAHHH@Z) already defined in adjust.obj
Debug/sqlist.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.sqlist.exe - 6 error(s), 0 warning(s)
解决方案 »
- 一个简单的sql统计语句 麻烦帮忙看看
- 在位图中绘图,为什么没有显示
- 请教一个对话框鼠标事件
- 大家看看这个系统区域通知图标是怎么做的?
- toolbar上有一个按钮,想把它做成点一下凹下去,再点一下凸上来那种!
- raw socket 能在xp下实现吗?/
- CFormView的问题,120分(其余100请到http://expert.csdn.net/Expert/topic/2568/2568503.xml领取)
- 需要收取邮件的源代码
- debug版无错,但release版遇到access violation错,怎么解决?
- MEMDC 绘图与PROPERTYSHEET中的字体闪烁的怪问题
- 请教!怎样确认光盘里是否有某个文件,我写的代码怎么也过不去,不知道哪里有问题了?
- 在二进制存储实数时,小数点位置如何表示啊?
#define MYH_H
//你的头文件的内容
#endif
我的程序如下sq.cpp文件程序如下#include <iostream.h>
#define MaxLen 50
typedef int elemtype;
typedef elemtype sqlist[MaxLen];
//创建一个顺序表
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;
}
//在顺序表的第i个元素前插入一个元素x(注意是第i个元素前)
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;
}
//在顺序表A中删除第i个元素
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;
}
//在一个有n个元素的顺序表A中查找元素值为x的元素
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;
}--------------------------------------------------------------------------------------adjust.cpp文件程序如下#include "sq.cpp"
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];
}
void main()
{
sqlist A;
int n;
n=create(A);
disp(A,n);
adjust(A,n);
disp(A,n);
}
--------------------------------------------------------------------------------------
执行时错误信息如下:--------------------Configuration: sqlist - Win32 Debug--------------------
Linking...
sq.obj : error LNK2005: "int __cdecl create(int * const)" (?create@@YAHQAH@Z) already defined in adjust.obj
sq.obj : error LNK2005: "void __cdecl disp(int * const,int)" (?disp@@YAXQAHH@Z) already defined in adjust.obj
sq.obj : error LNK2005: "int __cdecl ins(int * const,int,int,int)" (?ins@@YAHQAHHHH@Z) already defined in adjust.obj
sq.obj : error LNK2005: "int __cdecl del(int * const,int,int)" (?del@@YAHQAHHH@Z) already defined in adjust.obj
sq.obj : error LNK2005: "int __cdecl find(int * const,int,int)" (?find@@YAHQAHHH@Z) already defined in adjust.obj
Debug/sqlist.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.sqlist.exe - 6 error(s), 0 warning(s)那位好心人能帮帮我,是什么问题?
#ifndef __SQ_CPP__
#define __SQ_CPP__
//*****************************new********************
#include <iostream.h>
#define MaxLen 50
typedef int elemtype;
typedef elemtype sqlist[MaxLen];
//创建一个顺序表
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;
}
//在顺序表的第i个元素前插入一个元素x(注意是第i个元素前)
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;
}
//在顺序表A中删除第i个元素
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;
}
//在一个有n个元素的顺序表A中查找元素值为x的元素
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;
}
//*****************************new********************
#endif //#define __SQ_CPP__
//*****************************new********************
在所有的头文件开始的地方加一句
#pragma once
加一个文件sq.h声明函数
#pragma once
#include <iostream.h>
#define MaxLen 50
typedef int elemtype;
typedef elemtype sqlist[MaxLen];
//创建一个顺序表
int create(sqlist A);//输出一个顺序表
void disp(sqlist A,int n);
//在顺序表的第i个元素前插入一个元素x(注意是第i个元素前)
int ins(sqlist A,int n,int i,elemtype x);
{
//在顺序表A中删除第i个元素
int del(sqlist A,int n,int i);
//在一个有n个元素的顺序表A中查找元素值为x的元素
int find(sqlist A,int n,elemtype x);adjust.cpp文件程序#include "sq.cpp"改为#include "sq.h"
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];
}
void main()
{
sqlist A;
int n;
n=create(A);
disp(A,n);
adjust(A,n);
disp(A,n);
}