永发信息网

编译没问题,链接却有问题

答案:2  悬赏:20  手机版
解决时间 2021-03-19 17:19
#include
#include"cmath"
using namespace std;

template
struct Node
{
T data;
Node * next;
};

struct element
{
double coef; int exp;
element(double c=0,int e=0):coef(c),exp(e){};
};

template
class LinkList
{
public:
//构造函数

Node* GetFirst(){return front;};

private:
Node*front;
};

template
class PolyList:public LinkList //定义一元多项式类,该类为LinkList的派生类
{
public:
PolyList( element data[],int n);
void Add(PolyList & B);
void PrintList()
{

Node * p = GetFirst(); //获取第一个结点
p->next;
while(p)
{
cout<<"("<data.coef<<","<data.exp<<")";
p = p->next;
}
cout< };

};
template
void PolyList::Add(PolyList & B) // 定义求和函数
{
Node * p_prior =GetFirst(); //获取头指针
Node * p = p_prior->next; //初始化工作指针
Node * q = B.GetFirst()->next; //初始化B链表工作指针
while(p&&q)
{
if(p->data.exp < q->data.exp)
{ p_prior = p; p = p->next; }
else if(p->data.exp > q->data.exp)
{ p_prior->next = q; p_prior = q; q = q->next; }
else
{
p->data.coef =q->data.coef;
if(fabs(p->data.coef)<1e-7)
{
p_prior->next = p->next;
delete p;
p_prior->next;
}
else
{
p_prior = p;
p = p_prior->next;
}
Node * temp = q;
q = q->next;
delete temp;
}
}
if(q)p_prior -> next = q; //第四种情况
B.GetFirst() -> next = NULL;
}

void main()
{

element ea[]={element(2,0),element(1.5,1),element(-2.3,2),element(5,4)} ;
element eb[]={element(2,1),element(-2.3,2),element(3.4,3),element(1.5,4),element(6,5)} ;
PolyList a(ea,4),b(eb,5);
a.Add(b);
a.PrintList();
}
编译没问题,链接时出现“ error LNK2001: unresolved external symbol "public: __thiscall PolyList::PolyList(struct element * const,int)" (??0?$PolyList@Uelement@@@@QAE@QAUelement@@H@Z)
Debug/sam.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错”有哪位帮忙看下

谢谢啊,我改了后,编译链接都没问题,可是运行却出问题,是不是我这个程序本身有问题?谢谢了!实在很困惑。
最佳答案
呵呵。
你想定义一个多项式类,这个类的整体结构都是对的。

只是,你声明了一个PolyList的非默认构造函数PolyList,而且还是用了它,但就是没定义它。

注意看下就知道了。 PolyList自定义构造函数你没给它写函数体。
全部回答
链接静态库的意思就是在编译阶段需要将静态库链接到工程中,这样在编译时程序才不会出错,在用到静态库的函数时能够找到函数的实现,如果没有链接静态库则编译时会报错。 这里需要区分的就是链接动态库与静态库的区别,你可以到网上找一些资料看看。 而且链接静态库是将整个库文件都导入到了工程中,所以会增加工程的大小。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
百消王能治癣吗
怎样使木材碳化
月亮粑粑地址在哪,我要去那里办事
情痴和情种有什么区别?
有深圳伯恩光学有限公司上班的吗?何时招聘普
怎样退回别人发过来的邮件
温泉水对玉石有害吗?
铁锅里面有什么金属元素
如果有一个男人对你说:你越是对他冷漠他越是
实木家具喷漆以后,如果碰掉了怎么处理
自家旅馆地址有知道的么?有点事想过去
しあわせ日和中文翻译!
用移动手机开通一个月的QQ会员 一个月以后到
服务业在世界主要国家经济中的比重不断增长的
《三国演义》张飞献计刘备劫操寨,反中了埋伏
推荐资讯
我想问一下周承烨这个名字好吗?
四季歌广场舞m p3,我想下载四季歌曲,如何下
绝缘体不容易导电,但能带电——
上过床还能分手吗?
西兰花什么部位好吃
求助:内网共享打印机,只有我的电脑(win7系
如何评价奇然/沈谧仁演唱的歌曲《琵琶行
箬字的同音字有哪些
张浦中学怎么样?
请问东北大学的艺术设计好么?听说是工科大学
30岁离异女和40岁老处男会幸福吗
我喜欢的人好像对我有点兴趣下一步该怎么做
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?