gpt4 book ai didi

c++ - 将 Struct 类型转换为 vect int

转载 作者:行者123 更新时间:2023-11-28 03:38:49 28 4
gpt4 key购买 nike

我有问题需要将我的“数组”结构转换为 std::vector<int> ...关键是我有一个动态矩阵,其目的是作为数据库。但在某些时候我需要将一些值从“数组”移动到一个 vector 。我得到了休闲错误

 c:\mingw\bin\../lib/gcc/mingw32/4.6.1/include/c++/bits  /stl_iterator_base_types.h:166:53: error: 'int' is not a class, struct, or union type

有人知道如何实现这个目标吗?

结构:

const int days=31;
const int exp=6;

struct Arr{
int days;
int exp;
int **M;
};
typedef Arr* Array;

vector :

 vector <int> vec(31);

编辑:

int dayExp(int day, Array &M){
int s=0;
for(int i=0;i<6;i++){
s += M->M[day][i];
}
return s;
}

void srtDesc(Array &M){
vector <int> vec(31);
for(int i=0;i<31;i++){
vec[i]=dayExp(i, M);
}
sort(vec[0],vec[1]);

for(int i=0;i<31;i++){
cout<< vec[i];
}
}

最佳答案

你的 Arr struct 不会隐式转换为 int .首先,您的结构包含 3 int类型,而 vector<int>是一个int一次。

如果你想把你的 Arr进入 vector , 你应该创建一个 std::vector<Arr>然后调用push_back在上面放你的 Arr其中的结构。

std::vector<Arr> myvec;

myvec.push_back(someArr);

您将需要创建 for循环遍历数组的长度 - 1 并调用 push_back将每个项目放入 vector

关于c++ - 将 Struct 类型转换为 vect int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9994325/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com