#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);