簡體   English   中英

從變量初始化數組(C ++)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM