更改结构C 内部阵列的大小
Changing the size of an array inside of a struct C++
i具有下面显示的结构。
struct thread_data{
int staringPoint;
int endingPoint;
double query[];
};
用户输入一个数字,我需要以数字输入的数字大小。有什么方法可以在用户输入数字之后为数组分配内存或设置该数组的大小?
我试图这样做:
int userNumber = 10;
struct thread_data newThreads[5];
for(int i=0; i < 5;i++){
newThreads[i].query = new double[userNumber];
}
但是我收到此错误消息:
数组类型'double []'是无法分配的
一个简单的解决方案是:
struct thread_data{
int staringPoint;
int endingPoint;
std::vector<double> query;
};
// ...
for(int i=0; i < 5;i++)
newThreads[i].query.resize(userNumber);
您对其分配正确,但将double query[];
更改为double *query;
相关文章:
- 将函数类成员映射到类本身内部
- OpenMP阵列性能较差
- 如何将三维尺寸不固定的三维阵列展平为一维阵列
- Boost Spirit,获取迭代器内部语义动作
- 我不明白为什么我声明一个空的内部结构并将其传递给构造函数
- 当我的阵列太大时出现分段错误
- 内联函数中具有内部链接的全局变量
- 在函数内部的声明中初始化数组,并在外部使用它
- 如何在不知道向量大小的情况下输入向量内部的向量?
- 卷曲bracers内部结构的声明
- 从函数角度看ID到文件路径的内部与外部映射
- spdlog标头仅与外部fmt一起使用.spdlog错误:'内部':不是'fmt'
- 如何在pugixml中获取节点的内部XML
- 使用C链接在函数内部创建C++模板
- 位阵列上的快速AND运算
- 为什么从具有较大阵列的 SIMD 内部函数中获得的相对加速比标量更大?
- 查找有效内部圆形内部阵列的索引
- C 在结构初始化过程中带有内部阵列的奇怪错误
- 更改结构C 内部阵列的大小
- 在c++中的函数内部打印2D阵列