我正在研究一個需要隊列QueueArray的項目,該QueueArray是一個隊列數組。自從我使用C++數組以來,這已經有一段時間了,所以我在調試爲什麼我的代碼拋出錯誤時遇到了一些麻煩。可變大小的C++全局數組隊列
我一些靈感讀Delete an array of queue objects(與谷歌幾個小時一起),但我仍然有下面的代碼錯誤:
#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中有一個零大小的數組
和
錯誤C2075:「theArray」:數組初始化需要大括號
我讀過上漲約2號的錯誤,但我似乎可以找出我需要做什麼來解決它。
我需要它是一個變量大小的數組,它的變量傳遞給類,這就是爲什麼我不能初始化數組的大小,它必須是全局作用域,所以我可以使用它在類中的其他函數(類不能通過參數傳遞數組)。
稍後,隊列將是用戶定義的類型,但是我們現在讓它們成爲整數的隊列,不知道這是否有所作爲。我一直看到有人在這些情況下暗示使用矢量,但我沒有選擇這個。
任何建議,將不勝感激。
謝謝,我從來沒有這種類型的語法,但它的工作! a/b vectors:我知道載體會容易得多,但它不是我的選擇。 – user1709052