在c++中表达式必须有一个常数值
expression must have a constant value in c++
所以,我正在创建一个对象,有一个数组作为它的实例。这个数组的大小将由客户端程序决定。稍后在我的程序中,我必须创建一个与实例变量具有相同容量的临时数组。因此,我输入:
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);
相关文章:
- 有一个打印语句的函数是一种糟糕的编程实践吗
- VSCode-有一个红色下划线,但程序构建和运行正确,并且出现配音错误
- 如果有一个模板构造函数只有一个泛型参数,为什么我必须有一个复制构造函数
- 有没有可能有一个只有ADL才能找到的非好友功能
- 我有一个对象,它将在整个程序的持续时间内实例化,但一个类成员不会,我应该动态分配它吗?
- 我的程序有一个保存配置文件的GUI,如何双击此配置文件以直接加载带有配置数据的GUI?
- 在学习数据结构之前对STL有一个了解是好的吗?
- 我在 .h 中有一个枚举类,并且在.cpp错误中有一个运算符重载:与"运算符<<不匹配
- 如何在 Gnuplot 中分别绘制 2 个文件数据?我有一个文件"sin.txt",另一个文件"cos.txt",我想将它们分别绘制在一个图表上
- 是否可以在C++中有一个"generic"模板参数,该参数可以是非类型模板参数或类型?
- 编译器错误:函数调用在常量表达式中必须有一个常量值
- C++std用一个常数值列出初始化,它是否会改变性能
- c++表达式必须有一个常数值
- 如何创建一个std::map的常数值,它仍然可以被[]操作符访问
- 错误28:表达式必须有一个常量值
- 有一个用于常微分方程(ODE)求解的c++库
- Constexpr函数必须有一个参数值
- 表达式在c++中必须有一个常数值错误
- 错误:表达式必须具有常数值.对于一个明显的常数值
- 在c++中表达式必须有一个常数值