c++ - C++ 中表达式必须具有常量值

标签 c++

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

int temp[capacity];

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

最佳答案

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

#include <vector>

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

关于c++ - C++ 中表达式必须具有常量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14430994/

相关文章:

c++ - boost::future 和 std::future 的不同行为

c++ - 浮点精度 - C++03

c++ - vc++窗体窗口

c++ - 为什么从另一个类类型初始化 C++ 类不会抛出错误?

c++字符串复制错误到结构指针数据字段

c++ - 在 C++ 中模仿类似 Golang 的接口(interface)

c++ - 使用自定义 QSortFilterProxyModel 在 QTreeView 上错误的 QModelIndex

c++ - Qt5 : How to get rid of the compiler warnings for this Singleton?

c++ - 使用 Boost 图的大小变化图

python - 从 vtkActor 更新 vtkPolyData