簡體   English   中英

表達式在c ++中必須具有恆定值

[英]expression must have a constant value in c++

因此,我正在創建一個具有數組作為其實例的對象。 該數組的大小將由客戶端程序確定。 在程序的后面,我必須創建一個與實例變量具有相同容量的臨時數組。 所以,我把:

int temp[capacity];

但是,當我嘗試編譯它時,它失敗了。 它說我必須有一個固定值,而不是投入能力。 知道如何解決此問題嗎? 謝謝

如果在編譯時已知capacity則只能構造這樣的數組。 對於動態大小的數組,請使用std::vector

#include <vector>

std::vector<int> temp(capacity); // makes a vector with capacity elements

而不是這樣寫:

int temp[capacity]

寫吧:

int* temp = (int*)malloc(capacity);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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