[英]Initialising array from a variable (C++)
我正在做一個編程項目,我在編譯時遇到了一個問題...我用C ++編寫了這個代碼:
scanf("%d %d", &number, &shares);
vector<int> graph[number];
我讀取變量號,並用它來初始化數組的大小。 但這會產生初始化問題,
非POD元素類型
vector<int>
可變長度數組
有誰知道我能做些什么來解決這個問題?
您正在嘗試定義向量數組,但數組不能具有運行時確定的大小。 據推測,您想要聲明某種類型的向量,您可以這樣做:
vector<int> graph(number); // vector of size = number
編輯 :在您的評論之后,似乎您所追求的是向量的向量:
vector<vector<int>> graph(number);
檢查這些相關帖子,因為他們遇到與您相同的問題:
您正在嘗試創建一個向量數組,如果您不通過動態分配執行此操作,這不是一件好事。 如果您想要一個向量數組,請執行以下操作:
vector<int> * graph = new vector<int>[number];
...
delete[] graph;
如果你想要一個大小編號的矢量,那么這樣做:
vector<int> graph(number);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.