在c++中表达式必须有一个常数值

expression must have a constant value in c++

本文关键字:有一个 常数值 表达式 c++      更新时间:2023-10-16

所以,我正在创建一个对象,有一个数组作为它的实例。这个数组的大小将由客户端程序决定。稍后在我的程序中,我必须创建一个与实例变量具有相同容量的临时数组。因此,我输入:

int temp[capacity];

然而,当我试图编译它时,它失败了。它说我必须有一个固定值,而不是容量。知道怎么解决这个问题吗?thx

只有在编译时知道capacity时才能构造这样的数组。对于动态大小的数组,使用std::vector:

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

不这样写:

int temp[capacity]

直接写:

int* temp = (int*)malloc(capacity);
相关文章: