如何初始化数组向量 [英] How to initialize a vector of array

查看:154
本文介绍了如何初始化数组向量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好!

我想创建一个数组向量

 vector< BYTE [ 6 ]> CKEY; 
BYTE keyTemp [ 6 ];
memset(keyTemp,0xFF, sizeof (keyTemp)); // 键是FFF ... FF
cKey.push_back(keyTemp);





但是,push_back函数显示错误

错误C3074: array 只能用初始化列表初始化





如何初始化向量数组?

解决方案

似乎无法按照您的方式初始化数组。

查看此链接错误C3074:数组只能初始化为初始化列表 [ ^ ]



在你的情况下它应该是

标准::矢量<第一d :: array xmlns:std = #unknown ><字节,>> cKey {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
< / std :: array>



或者

 std :: array<字节,> keyTemp {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; 
cKey.push_back(keyTemp);


 vector< byte *> CKEY;  //  更改此处 


BYTE keyTemp [ 6 ];
memset(keyTemp,0xFF, sizeof (keyTemp)); // 键是FFF ... FF
cKey.push_back(keyTemp);


Hi guy !
I want to create a vector of array

vector<BYTE[6]> cKey;
BYTE keyTemp[6];
memset(keyTemp, 0xFF, sizeof(keyTemp)); // Key is FFF...FF
cKey.push_back(keyTemp);



but, push_back function is show error

Error C3074: an array can only be initialized with an initializer-list



How to initialize a vector of array ?

解决方案

Seems like it is not possible to initialize the array the way you are doing it.
See this link error C3074: an array can only be initialized with an initializer-list[^]

In your case it should be

std::vector<std::array xmlns:std="#unknown"><byte,>> cKey { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
</std::array>


or maybe

std::array<byte,> keyTemp { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
cKey.push_back(keyTemp);


vector<byte*> cKey; // Change here


BYTE keyTemp[6];
memset(keyTemp, 0xFF, sizeof(keyTemp)); // Key is FFF...FF
cKey.push_back(keyTemp);


这篇关于如何初始化数组向量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆