[英]Error in array declaration: Expression must have a constant value
我聲明了具有以下結構的全局結構:
typedef struct {
int value;
int index;
}element;
我有一個帶有k
排序隊列的程序,我把每個中的最小值放入了一個heapSort
(我正在使用一個數組)。 我在struct中使用索引值來跟蹤要從堆中彈出的元素。 現在,我想針對不同數量的隊列測試程序,所以我這樣做了:
for (int i = 10;i <= 50;i += 10) {
const int k = i;
element a[k];
}
但是我得到一個錯誤:
表達式必須具有恆定值
有什么辦法可以“欺騙”我嗎?
您聲明了一個array
,數組的大小無法更改。 要解決此問題,使用vector
符合您的最大利益。
嘗試這個:
#include <vector>
vector <element> a(50);
要將元素從vector
彈出,請嘗試以下操作:
a.erase(a.begin()+index_from_zero);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.