[英]c++ Push_back type with multiple
我有以下C ++代码...
struct myType
{
int SID;
int IID;
std::string myString;
};
std::vector<myType[2]> _type;
问题是当我这样做时...
for (int x = 1; x < 82432; x++)
{
_type.push_back(myType());
}
它给我以下错误
Error 441 error C2664: 'void std::vector<myType [2],std::allocator<_Ty>>::push_back(const myType (&)[2])' : cannot convert argument 1 from 'myType' to 'myType (&&)[2]'
想法是创建一个像这样的向量数组:_type [82431] [2] .SID << = type
任何帮助表示赞赏!
您无法创建数组类型的向量,原因之一是您无法将一个数组分配给其他数组,您可以获得的关闭次数是:
std::vector<std::array<myType, 2>> _type;
这也不对
for (int x = 1; x < 82432; x++)
{
_type.push_back(myType());
}
即使您可以创建数组的向量,在循环中您myType
推送类型为myType
数据,而向量必须为myType[2]
类型。 因此,要使其与std::array
更改为_type.push_back({myType(), myType()});
参见此处http://coliru.stacked-crooked.com/a/b77015b21524de77用于其他用途
由于某些愚蠢的原因...我可以做到这一点!
myType _type[82432][2];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.