C++:我想将数据从结构复制/存储到单独的数组中
C++: I want to copy/store data from struct into individual arrays
我写了一个基本的get函数,它获取结构的元素,并将它们复制/存储到单独的变量中。我想做同样的事情,除了将结构数组存储到数组变量中(关键是我想使用我已经编写的 get 函数)。我可以轻松地做我想做的事情,而无需嵌入我的第一个函数,但我需要在第二个函数中使用我的第一个函数,并且遇到了一些问题。
我的一个错误是,我放入第二个函数中的嵌入式 get 函数中没有匹配的函数调用(我认为我已将变量与我的第一个 get 函数(即 n、c、a 和 x)正确匹配)。
谢谢你的关注。
#include <iostream>
#include <cstdlib>
using namespace std;
struct ABC
{
int n;
char c;
double a[3];
};
void get( int & n, char & c, double a[3], const ABC & x )
{
n = x.n;
c = x.c;
for (int i = 0; i < 3; i++){
a[i] = x.a[i];
}
}
void get( int n[], char c[], double a[][3], const ABC x[], int elements )
{
for (int i = 0; i < elements; i++){
get(n, c, a, x);
}
}
int main()
{
ABC x = {number, m, {1, 2, 3}};
ABC xx[4] = {
{123, 'A', {1.1, 1.2, 1.3}},
{234, 'B', {2.1, 2.2, 2.3}},
{345, 'C', {3.1, 3.2, 3.3}},
{456, 'D', {4.1, 4.2, 4.3}}
};
int n;
char c;
int a[] = {};
int n1 [4] = {};
char c1 [4] = {};
double a3 [4] [3] = {};
int elements = 3;
get(n1, c1, a3, xx, elements);
return 0;
}
你可能想说
get(n[i], c[i], a[i], x[i]);
这并不能回答您的XY问题
"固定"代码(编译) Live On Coliru
在我看来
,在带有数组的 get 函数中,您始终将值存储在每个数组的同一位置。您可能应该执行以下操作:
get(n[i], c[i], a[i], x[i]);
相关文章:
- 将字符串存储在c++中的稳定内存中
- 如何在C++中从两个单独的for循环中添加两个数组
- std::原子加载和存储都需要吗
- C++:将控制台输出存储在宏中更好吗
- 用C++在单独的头文件中完成函数体
- 类模板的成员功能的定义在单独的TU中完全专业化
- 使用QProcess执行命令,并将结果存储在QStringList中
- 输入日,月,年并存储在单独的结构中
- 将INT和STR输入并将它们存储到两个单独的列表中
- 将矢量<矢量>元素的值存储在<int>单独的容器上
- C++:我想将数据从结构复制/存储到单独的数组中
- 读取整数文件并将每一行存储在一个单独的数组中
- 反转字符数组,并使用 c++ 同时使用 for 循环存储到单独的数组中
- 从文本文件中读取,并将每个值存储在 C++ 中的单独数组中
- 从文件中提取行.txt然后将单词存储到单独的数组中 |C++
- 如何解析用户的输入并将每个单独的字符存储为字符串
- 将数组存储在单独的类文件中
- 如何在同一变量中存储单独输入的数字
- 从文件中读取行并存储在单独的字符串变量中
- OpenGL/ c++将所有纹理资源作为静态成员存储在一个单独的类中