windows 7 窗口为什么老一动一动的?
发布网友
发布时间:2022-04-22 09:49
我来回答
共3个回答
热心网友
时间:2023-10-30 23:55
主要问题出在下面的这个函数:
//做了两个修改1.把函数的返回值改为了引用,当然函数声明也得该
//2.把tmp改成了局部静态变量
//或者改为全局变量
Polynomial & Polynomial::operator+ (const Polynomial& rhs) //引用
{ //涓轰粈涔堣繖涔堜笉琛?
static Polynomial tmp;//Polynomial tmp = *this; //把这个变成局部静态
tmp = *this;//
tmp += rhs;//return tmp += rhs;
return tmp;//
}
//我想之前错误的原因是:
//这个tmp在这个函数调用结束之后会自动调用tmp的析构函数
//并且这个函数传回的是tmp的一个复制品,同样也会调用析构函数
//这个时候就会对同一片内存多次释放了
另外还有别的问题:
1.clear()函数中 循环外面的delete _head;不应该
2.在add函数中的那个while循环中当==的时候,应该delete it;
热心网友
时间:2023-10-30 23:56
你是编译错误,还是运行错误哈?
我编译了一下,没有编译错误哈。
如果是编译错误的话,我推测是的头文件包含有问题。
在 Item.cpp 文件的开头增加#include "Item.h "
在Polynomial.h文件开头增加#include "Item.h "
在Polynomial.cpp文件开头增加#include "Polynomial.h"
热心网友
时间:2023-10-30 23:56
我编译都通过了,没啥错误啊。