我正在开发一个需要队列数组的类 QueueArray 的项目。自从我使用 c++ 数组以来已经有一段时间了,所以我在调试为什么我的代码抛出错误时遇到了一些麻烦。
我阅读了删除队列对象数组以获得一些灵感(以及在 Google 上的几个小时),但我仍然遇到以下代码错误:
#include <iostream>
#include <deque>
#include <queue>
using namespace std;
class QueueArray
{
queue<int> theArray[];
QueueArray::QueueArray(int size)
{
queue<int> theArray[] = new queue<int>[size];
//theArray[] = new queue<int>[size]; //this may be closer, but also giving errors
}
};
错误是:
警告 C4200:使用了非标准扩展:结构/联合中的零大小数组 1> 当 UDT 包含零大小数组时,无法生成复制 ctor 或复制赋值运算符
和
错误 C2075:“theArray”:数组初始化需要花括号
我已经阅读了第二个错误,但我似乎可以弄清楚我需要做些什么来修复它。
我需要它是一个可变大小的数组,并将变量传递给类,这就是为什么我不能在顶部初始化数组的大小,它必须是全局范围的,所以我可以在其他函数中使用它类(类不能通过参数传递数组)。
稍后,队列将是用户定义的类型,但我们现在让它们成为整数队列,不确定这是否会有所不同。我不断看到有人建议在这些情况下使用向量,但我对此没有选择。
任何建议,将不胜感激。