2

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

int temp[capacity];

但是,当我尝试编译它时,它失败了。它说我必须有一个固定值而不是放置容量。知道如何解决这个问题吗?谢谢

4

2 回答 2

4

capacity如果在编译时已知,则只能构造这样的数组。对于动态大小的数组,请使用std::vector

#include <vector>

std::vector<int> temp(capacity); // makes a vector with capacity elements
于 2013-01-21T00:38:21.083 回答
-1

而不是这样写:

int temp[capacity]

写吧:

int* temp = (int*)malloc(capacity);
于 2013-11-22T19:46:35.157 回答