高手快来帮忙,告诉我这是什么错误啊?
我在用vc.net编一个多项式相乘时,出现了这么两个错误,那位高手告诉我这是什么错误啊,多谢!急,在线等待!
我在vc6.0中就没有这两个错误啊!
这两个错误是这样的:
1.error LNK2019:无法解析的外部符号 -WinMain@16 ,该符号在函数-WinMainCRTStartup中被引用
2.fatal error LNK1120:1个无法解析的外部命令
具体的程序如下:
头文件:PList.h
#ifndef POLY
#define POLY
typedef struct PLNode
{
int xi,zhi;
struct PLNode *next;
}PLNode;
class PList
{
private:
PLNode *Head,*Tail;
int length;
public:
PList()
{
Head=Tail=0;
}
~PList();
bool isempty()
{
return Head==0;
}
int GetLength()
{
return length;
}
void ListCreat_PL(int n);
void ListCreate_PL(char);
static PLNode* ListAdd_PL(PList P,PList Q);
static PLNode* ListMul_PL(PList P,PList Q);
static char Compare(int,int);
PLNode* GetHead();
PLNode* GetTail();
};
#endif
cpp文件:
# include <iostream>
# include <conio.h>
# include "Plist.h"
using namespace std;
#define null 0
PList::~PList()
{
}
void PList::ListCreat_PL(int n)
{
int i;
PLNode *pc;
Head=new PLNode;
Head->xi=n;
Head->next=null;
Tail=Head;
for (i=1;i<=n;i++)
{
PLNode *p=new PLNode;
cout<<"请输入第"<<i<<"项的x系数:";
cin>>p->xi;
cout<<"请输入第"<<i<<"项的x指数:";
cin>>p->zhi;
p->next=Tail->next;
Tail->next=p;
Tail=p;
}
cout<<"L("<<n<<")=";
pc=Head->next;
while(pc!=0)
{
cout<<pc->xi<<"x^"<<pc->zhi<<"+";
pc=pc->next;
}
}
void PList::ListCreate_PL(char)
{
Head=new PLNode;
Head->next=null;
Head->xi=0;
Tail=Head;
}
PLNode* PList::GetHead()
{
return Head;
}
PLNode* PList::GetTail()
{
return Tail;
}
char PList::Compare(int a,int b)
{
if(a>b) return 1;
else if(a<b) return -1;
else return 0;
}
PLNode* PList::ListAdd_PL(PList P,PList Q)
{
int a,b;
PLNode *pa,*pb,*pc,*p,*h;
pa=pc=h=P.GetHead();
pb=p=Q.GetHead();
a=pa->zhi;
b=pb->zhi;
delete p;
while(pa&&pb)
{
switch(PList::Compare(a,b))
{
case -1:
pc=pa;
pa=pa->next;
break;//pa的系数小
case 0:
pa->xi=pa->xi+pb->xi;
if(pa->xi!=0)
{
pc=pa;
pa=pa->next;
p=pb;
pb=pb->next;
delete p;
}
else
{
h=pa;
pa=pa->next;
pb=pb->next;
delete h;//pa的系数大
}
break;
case 1:
p=pb;
pc->next=p;
p->next=pa;
pb=pb->next;
break;//存在问题
}
}
while(pb->next!=null)
{
p=pb;
pa->next=pb;
pb=pb->next;
pa=pa->next;
delete p;
}
pa=P.GetHead();
return(pa);
}
PLNode* PList::ListMul_PL(PList P,PList Q)
{
PLNode *pa,*pb,*pc,*pd;
PList p1,p2;
p1.ListCreate_PL('p');
p2.ListCreate_PL('q');
pa=P.GetHead();
pb=Q.GetHead();
pc=p1.GetHead();
pd=p2.GetHead();
while(pa->next!=null)
{
pc->xi=pa->xi*pb->xi;
pc->zhi=pa->zhi+pb->zhi;
pa=pa->next;
}
pb=pb->next;
while(pb->next!=null)
{
while(pa->next!=null)
{
pd->xi=pa->xi*pb->xi;
pd->zhi=pa->zhi+pb->zhi;
pa=pa->next;
}
PList::ListAdd_PL(p1,p2);
pb=pb->next;
}
pc=p1.GetHead();
return(pc);
}
void main()
{
int n,m;
PLNode *pc,*pd;
PList P,Q;
cout<<"请输入多项式P的长度n:";
cin>>n;
P.ListCreat_PL(n);
cout<<"请输入多项式Q的长度m:";
cin>>m;
Q.ListCreat_PL(m);
pd=PList::ListAdd_PL(P,Q);
while(pd->next)
{
cout<<pd->xi<<"x^"<<pd->zhi<<"+";
pd=pd->next;
}
pc=PList::ListMul_PL(P,Q);
while(pc->next)
{
cout<<pc->xi<<"x^"<<pc->zhi<<"+";
pc=pc->next;
}
}
我现在还在调试中,所以可能还有一些错误!现在我就不能执行了,只报那两个错误啊 !!