#include<iostream.h>classaddition{ (intnum);addition*next;};voidsum(intnum1,intnum2){cout<<"theansis:"<<num1+num2<<endl;}voidnumber(addition*&a,intnum){addition*p=newaddition(num);p->next=NULL;if(a==NULL)a=p;else{a->next=p;a=a->next;}}voidmain(){intnum1,num2;addition*a=NULL;cout<<"inputtwodigitsforaddition"<<endl;cin>>num1;number(a,num1);cin>>num2;number(a,num2);sum(num1,num2);cout<<endl;}系统编译显示的错误是:2. :unresolvedexternalsymbol"public:__thiscalladdition::addition(int)"(??0addition@@)Debug/2. :1unresolvedexternalsErrorexecutinglink.exe.请问是什么意思?怎么解决?
热心网友
addition*p=newaddition(num);这一句调用addition类的构造函数,但我找到半天都没找到你的构造函数在哪。。。你应该在类声明中加入你的构造函数:classaddition{ (intnum){...//构造这个函数时要做的一些初始化}addition*next;};或者你不改你的类声明内容,在后面加上classaddition::addition(intnum){...//一些初始化}建议:一般对类的成员做修改的函数都写成这个类的成员函数,比如你的number()函数;看得出来你在学习链表,但没有表头指针而a只指向最后一个节点你如何得到链表中其它的元素呢?
热心网友
没有实现类addition的构造函数,addition(int num);