运行程序,提示我在头文件commono.h定义的结构体SqList没有定义,接着出现一堆不知道怎么描述的bug
#ifndef _COMMON_H_
#define _COMMON_H_
typedef struct
{
int* elem;
int length;
}SqList;
#endif
#ifndef _P1_H_
#define _P1_H_
int InitList(SqList& L);
int GetElem(SqList& L, int i, int& e);
int LocateElem(SqList L, int e);
int ListInsert(SqList& L, int i, int e);//插入赋值,避免数据覆盖丢失;
int ListDelete(SqList& L, int i);
#include<iostream>
#include"P1.h"
#include"common.h"
#define MAXSIZE 100
#define OK 1
int InitList(SqList& L)
{
L.elem = new int[MAXSIZE];
if (!L.elem)
{
exit(999);
}
L.length = 0;
return OK;
}
int GetElem(SqList& L, int i, int& e)
{
if (i<1 || i>L.length)
{
return 999;
}
e = L.elem[i - 1];
return e;
}
int LocateElem(SqList L, int e)
{
int i;
for (i = 0; i < L.length; i++)
{
if (L.elem[i] == e)
{
return i + 1;
}
}
return 999;
}
int ListInsert(SqList& L, int i, int e)//插入赋值,避免数据覆盖丢失
{
int j;
if (i<1 || i>L.length + 1)
{
return 999;
}
if (L.length == MAXSIZE)
{
return 998;
}
for (j = L.length - 1; j > i - 1; i++)
{
L.elem[j + 1] = L.elem[j];
L.elem[i - 1] = e;
}
L.length++;
return 1;
}
int ListDelete(SqList& L, int i)
{
int j;
if (i<1 || i>L.length)
{
return 999;
}
for (j = i; j <= L.length - 1; j++)//不仅仅要覆盖第i个,而且要把最后一位抹零
{
L.elem[j - 1] = L.elem[j];
}
return 1;
}
#endif
1>D:\VS成果项目\顺序表\P1.h(3,14): error C2065: “SqList”: 未声明的标识符
1>D:\VS成果项目\顺序表\P1.h(3,22): error C2065: “L”: 未声明的标识符
1>D:\VS成果项目\顺序表\P1.h(4,13): error C2065: “SqList”: 未声明的标识符
1>D:\VS成果项目\顺序表\P1.h(4,21): error C2065: “L”: 未声明的标识符
1>D:\VS成果项目\顺序表\P1.h(4,24): error C2062: 意外的类型“int”
1>D:\VS成果项目\顺序表\P1.h(5,16): error C2065: “SqList”: 未声明的标识符
1>D:\VS成果项目\顺序表\P1.h(5,23): error C2146: 语法错误: 缺少“)”(在标识符“L”的前面)
1>D:\VS成果项目\顺序表\P1.h(6,16): error C2065: “SqList”: 未声明的标识符
1>D:\VS成果项目\顺序表\P1.h(6,24): error C2065: “L”: 未声明的标识符
1>D:\VS成果项目\顺序表\P1.h(6,27): error C2062: 意外的类型“int”
1>D:\VS成果项目\顺序表\P1.h(7,16): error C2065: “SqList”: 未声明的标识符
1>D:\VS成果项目\顺序表\P1.h(7,24): error C2065: “L”: 未声明的标识符
1>D:\VS成果项目\顺序表\P1.h(7,27): error C2062: 意外的类型“int”
1>D:\VS成果项目\顺序表\main.cpp(7,13): warning C4326: “main”的返回类型应为“int”而非“void”
1>D:\VS成果项目\顺序表\main.cpp(10,6): error C2064: 项不会计算为接受 1 个参数的函数
1>p1.cpp
1>D:\VS成果项目\顺序表\P1.h(3,14): error C2065: “SqList”: 未声明的标识符
1>D:\VS成果项目\顺序表\P1.h(3,22): error C2065: “L”: 未声明的标识符
1>D:\VS成果项目\顺序表\P1.h(4,13): error C2065: “SqList”: 未声明的标识符
1>D:\VS成果项目\顺序表\P1.h(4,21): error C2065: “L”: 未声明的标识符
1>D:\VS成果项目\顺序表\P1.h(4,24): error C2062: 意外的类型“int”
1>D:\VS成果项目\顺序表\P1.h(5,16): error C2065: “SqList”: 未声明的标识符
1>D:\VS成果项目\顺序表\P1.h(5,23): error C2146: 语法错误: 缺少“)”(在标识符“L”的前面)
1>D:\VS成果项目\顺序表\P1.h(6,16): error C2065: “SqList”: 未声明的标识符
1>D:\VS成果项目\顺序表\P1.h(6,24): error C2065: “L”: 未声明的标识符
1>D:\VS成果项目\顺序表\P1.h(6,27): error C2062: 意外的类型“int”
1>D:\VS成果项目\顺序表\P1.h(7,16): error C2065: “SqList”: 未声明的标识符
1>D:\VS成果项目\顺序表\P1.h(7,24): error C2065: “L”: 未声明的标识符
1>D:\VS成果项目\顺序表\P1.h(7,27): error C2062: 意外的类型“int”
1>D:\VS成果项目\顺序表\p1.cpp(7,5): error C2365: “InitList”: 重定义;以前的定义是“数据变量”
1>D:\VS成果项目\顺序表\P1.h(3): message : 参见“InitList”的声明
1>D:\VS成果项目\顺序表\p1.cpp(17,5): error C2365: “GetElem”: 重定义;以前的定义是“数据变量”
1>D:\VS成果项目\顺序表\P1.h(4): message : 参见“GetElem”的声明
1>D:\VS成果项目\顺序表\p1.cpp(26,5): error C2365: “LocateElem”: 重定义;以前的定义是“数据变量”
1>D:\VS成果项目\顺序表\P1.h(5): message : 参见“LocateElem”的声明
1>D:\VS成果项目\顺序表\p1.cpp(38,5): error C2365: “ListInsert”: 重定义;以前的定义是“数据变量”
1>D:\VS成果项目\顺序表\P1.h(6): message : 参见“ListInsert”的声明
1>D:\VS成果项目\顺序表\p1.cpp(57,5): error C2365: “ListDelete”: 重定义;以前的定义是“数据变量”
1>D:\VS成果项目\顺序表\P1.h(7): message : 参见“ListDelete”的声明