根据您提供的信息,代码中的问题主要是在动态分配空间时出现了错误。在您的代码中,`Worker **newSpace = new Worker*;`这行应该修改为`Worker **newSpace = new Worker*[newSize];`,其中`newSize`应该是用户输入的子类数量。
此外,根据您似乎给出的出错信息,还有可能存在其他问题。例如,错误提示中显示“可写范围是0到0”,这表明您可能没有正确设置循环的范围或索引变量。
以下是对您提供的代码的修改建议:
- // 开辟新空间并初始化为空指针数组
- int newSize;
- cout << "请输入新分配的子类数量:";
- cin >> newSize;
- Worker** newSpace = new Worker*[newSize];
- // 在这里进行相应操作,例如循环遍历赋值等
- // 释放内存
- for (int i = 0; i < newSize; i++) {
- delete newSpace[i];
- }
- delete[] newSpace;
复制代码
请注意,在创建的指针数组上进行操作之前,请确保将其正确初始化和赋值。此外,别忘了使用`delete[]`来释放动态分配的数组内存空间。
希望这次能够帮助您解决问题!如果问题仍然存在,请提供更多完整的代码和错误信息以便更好地帮助您。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。