繁体   English   中英

C ++ Push_back类型有多个

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM