当我调用 addBranch 函数时,我想将我的数组扩展一,然后将新的 Branch 对象添加到该扩展的空白区域,并且我试图防止我的代码发生内存泄漏。我以为我做得对,但我被这个功能困住了。
它给了我错误“二进制'=':找不到运算符,它采用'Branch *'类型的右手操作数(或没有可接受的转换) ”。我需要一些帮助,将最后一个元素分配给一个新的 Branch 对象,该对象在功能消除后不会被删除。我只是 C++ 的新手,所以可能会有一些大错误。我不允许使用向量等。
// ------- Adds a branch to system -------- //
void BankingSystem::addBranch(const int id, const string name){
if(isBranchExisting(id)){
cout << "\n\tBranch " << id << " already exists. Please try it with another id number.";
}
else if(!isBranchExisting(id)){
Branch* tempArray = new Branch[cntAccounts];
for(int i = 0; i<cntAccounts; i++){
tempArray[i] = allBranches[i];
}
delete[] allBranches;
allBranches = new Branch[cntAccounts+1];
for(int i = 0; i<cntAccounts; i++){
allBranches[i] = tempArray[i];
}
allBranches[cntAccounts] = new Branch(id, name); // error at this line
}
}