晨曦吖 2024-09-09 17:30 采纳率: 0%
浏览 9

vs无法从initializer list转换为std::vector<std::vector

neigSPixels = std::vector<std::vector >( numlabels, 20 );
报错如下:

img

  • 写回答

1条回答 默认 最新

  • 一轮明月照丘壑 2024-09-09 17:31
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    根据你提供的错误信息,你正在尝试将一个初始化列表用于创建std::vector<std::vector<int>>的实例,但是这样的构造方式是不正确的。在C++中,你不能直接使用初始化列表来创建嵌套向量(即std::vector中包含std::vector)。你需要分别创建外部和内部的向量,然后将它们组合在一起。或者你可以使用初始化列表和循环来填充嵌套向量。这里有一个示例:

    int numlabels = 10; // 你的标签数量
    std::vector<std::vector<int>> neigSPixels(numlabels, std::vector<int>(20, 0)); // 创建嵌套向量并初始化
    

    在这个例子中,我们首先创建了一个大小为numlabels的外部向量,然后对于每个元素(即内部向量),我们都创建了一个大小为20且所有元素都初始化为0的向量。这样就可以解决你的问题。你需要在内部向量的构造函数中指定元素的数量以及它们应该被初始化为的值。对于你的情况,我建议你将所有元素初始化为某个值(如上面的示例中的0),但你也可以根据你的需要进行调整。

    评论

报告相同问题?

问题事件

  • 创建了问题 9月9日

悬赏问题

  • ¥15 MSR2680-XS路由器频繁卡顿问题
  • ¥15 VB6可以成功读取的文件,用C#读不了
  • ¥15 如何使用micpyhon解析Modbus RTU返回指定站号的湿度值,并确保正确?
  • ¥15 C++ 句柄后台鼠标拖动如何实现
  • ¥15 有人会SIRIUS 5.8.0这个软件吗
  • ¥30 comsol仿真等离激元
  • ¥15 静电纺丝煅烧后如何得到柔性纤维
  • ¥15 (标签-react native|关键词-镜像源)
  • ¥100 照片生成3D人脸视频
  • ¥15 伪装视频时长问题修改MP4的时长问题,