基本的に、私は宿題に取り組んでおり、多項式の係数と指数を含むリンクされたリストがあります。copy c-tor が含まれていない場合、main (デストラクタ) を終了するときにコードがクラッシュします。copy c-tor では発生しませんが、どこにも明示的に copy c-tor を呼び出していないので、なぜだろうと思っています。これはコードのほんの一部です。Coef 関数は、パラメーター exp と coef を持つノードをリストに追加するので、含める必要はないと思います。
CPList :: ~CPList ()
{
while (!isEmpty())
deleteFromHead();
}
void CPList :: deleteFromHead ()
{
CPNode* tmp=head;
if (head==tail)
head=tail=NULL;
else head=head->next;
delete tmp;
}
CPList* CPList :: mul (CPList p1, CPList p2)
{
CPList* res = new CPList;
CPNode *first, *second;
for (first=p1.head; first!=NULL; first=first->next)
for (second=p2.head; second!=NULL; second=second->next)
res->coef(first->exp+second->exp, first->coef*second->coef);
res->check();
return res;
}
このコードの直後、閉じ括弧でクラッシュします。
int main ()
{
...
ptr=p3.mul(p1, p2);
ptr->printall();
}
copy c-tor が含まれている場合は正常に動作します。